Redis
WeeSpeed 使用 Redis 作为缓存,在环境变量中配置好 Redis 服务参数后,可以在代码中直接使用 Redis 类进行读写,如:
$cacheValue = Redis::get('cacheKey');注意
WeeSpeed 会自动连接 Redis 服务,你无需手动连接。
请使用 Redis 类的静态方法来操作 Redis。
Redis 类方法
Redis 类提供了以下方法:
1. 键(Key)相关指令
Redis::del(key [, key ...])
删除一个或多个键。
示例:Redis::del("key1", "key2")Redis::exists(key)
检查键是否存在。
示例:Redis::exists("key")Redis::expire(key, seconds)
设置键的过期时间(秒)。
示例:Redis::expire("key", 10)Redis::ttl(key)
获取键的剩余生存时间(秒)。
示例:Redis::ttl("key")Redis::persist(key)
移除键的过期时间,使其永久有效。
示例:Redis::persist("key")Redis::keys(pattern)
查找所有符合给定模式的键。
示例:Redis::keys("user:*")Redis::rename(key, newkey)
重命名键。
示例:Redis::rename("oldkey", "newkey")Redis::type(key)
获取键的数据类型。
示例:Redis::type("key")
2. 字符串(String)相关指令
Redis::set(key, value)
设置键的值。
示例:Redis::set("name", "Alice")Redis::get(key)
获取键的值。
示例:Redis::get("name")Redis::incr(key)
将键的值增加 1(仅适用于整数)。
示例:Redis::incr("counter")Redis::decr(key)
将键的值减少 1(仅适用于整数)。
示例:Redis::decr("counter")Redis::append(key, value)
将值追加到键的现有值末尾。
示例:Redis::append("name", " Smith")Redis::strlen(key)
获取键存储的字符串长度。
示例:Redis::strlen("name")
3. 哈希(Hash)相关指令
Redis::hset(key, field, value)
设置哈希表中字段的值。
示例:Redis::hset("user:1", "name", "Alice")Redis::hget(key, field)
获取哈希表中字段的值。
示例:Redis::hget("user:1", "name")Redis::hgetall(key)
获取哈希表中所有字段和值。
示例:Redis::hgetall("user:1")Redis::hdel(key, field [, field ...])
删除哈希表中的一个或多个字段。
示例:Redis::hdel("user:1", "name")Redis::hkeys(key)
获取哈希表中的所有字段。
示例:Redis::hkeys("user:1")Redis::hvals(key)
获取哈希表中的所有值。
示例:Redis::hvals("user:1")
4. 列表(List)相关指令
Redis::lpush(key, value [, value ...])
将一个或多个值插入列表头部。
示例:Redis::lpush("mylist", "world")Redis::rpush(key, value [, value ...])
将一个或多个值插入列表尾部。
示例:Redis::rpush("mylist", "hello")Redis::lpop(key)
移除并返回列表的第一个元素。
示例:Redis::lpop("mylist")Redis::rpop(key)
移除并返回列表的最后一个元素。
示例:Redis::rpop("mylist")Redis::llen(key)
获取列表的长度。
示例:Redis::llen("mylist")Redis::lrange(key, start, stop)
获取列表中指定范围内的元素。
示例:Redis::lrange("mylist", 0, -1)
5. 集合(Set)相关指令
Redis::sadd(key, member [, member ...])
向集合中添加一个或多个成员。
示例:Redis::sadd("myset", "Alice")Redis::smembers(key)
获取集合中的所有成员。
示例:Redis::smembers("myset")Redis::srem(key, member [, member ...])
移除集合中的一个或多个成员。
示例:Redis::srem("myset", "Alice")Redis::sismember(key, member)
判断成员是否在集合中。
示例:Redis::sismember("myset", "Alice")Redis::scard(key)
获取集合的成员数量。
示例:Redis::scard("myset")
6. 有序集合(Sorted Set)相关指令
Redis::zadd(key, score, member [, score, member ...])
向有序集合中添加一个或多个成员。
示例:Redis::zadd("myzset", 1, "Alice")Redis::zrange(key, start, stop [, withscores])
获取有序集合中指定范围内的成员(按分数升序)。
示例:Redis::zrange("myzset", 0, -1, withscores: true)Redis::zrem(key, member [, member ...])
移除有序集合中的一个或多个成员。
示例:Redis::zrem("myzset", "Alice")Redis::zscore(key, member)
获取有序集合中成员的分数。
示例:Redis::zscore("myzset", "Alice")Redis::zcard(key)
获取有序集合的成员数量。
示例:Redis::zcard("myzset")
7. 发布订阅(Pub/Sub)相关指令
Redis::publish(channel, message)
向指定频道发布消息。
示例:Redis::publish("news", "Hello World")Redis::subscribe(channel [, channel ...])
订阅一个或多个频道。
示例:Redis::subscribe("news")Redis::unsubscribe([channel [, channel ...]])
退订一个或多个频道。
示例:Redis::unsubscribe("news")
8. 事务(Transaction)相关指令
Redis::multi
开启事务。
示例:Redis::multiRedis::exec
执行事务中的所有命令。
示例:Redis::execRedis::discard
取消事务,放弃执行所有命令。
示例:Redis::discard
9. 服务器(Server)相关指令
Redis::ping
测试与服务器的连接是否正常。
示例:Redis::pingRedis::info([section])
获取服务器的信息和统计。
示例:Redis::infoRedis::flushdb
清空当前数据库的所有数据。
示例:Redis::flushdbRedis::flushall
清空所有数据库的数据。
示例:Redis::flushallRedis::save
将数据同步保存到磁盘。
示例:Redis::saveRedis::bgsave
在后台异步将数据保存到磁盘。
示例:Redis::bgsave