Redis 常用命令

初始化redis 对象

// 这里使用php 自带redis类(非tp 的redis缓存类)
$this->redis = new \Redis();
$redisConfi = Config('redis');
$this->redis->connect($redisConfi['host'], $redisConfi['port']);
    

基础命令

connect连接redis->connect($host,$port)
keys查询所有键 支持带*模糊查询->keys($key)
exists键是否存在->exists($key)
expire设置某个键的超时时间(秒)->expire($key,86400*7);

Redis 类型

String 值

get获取值->get($key)
set设置键和值->set($key,”数据”)

哈希(Hash)

方法功能示例
hMSet设置hash 对象->hMSet($key,[
‘reg_count’=>0,
‘count’=>1,
‘enable’=>1,
])
hGetAll获得hash结构数据的所有字段->hGetAll($key)
hIncrBy对hash 数据的某一个字段 自增1->hIncrBy($cache_key,’reg_count’,1);

列表(Set)

有序列表(ZSet)

zset 是 Redis 提供的最具特色的数据类型之一,首先它是一个 set,这保证了内部 value 值的唯一性,其次它给每个 value 添加了一个 score(分值)属性,通过对分值的排序实现了有序化。比如用 zset 结构来存储学生的成绩,value 值代表学生的 ID,score 则是的考试成绩。我们可以对成绩按分数进行排序从而得到学生的的名次。

方法功能说明示例
zadd添加key 为集合名,score1 表示 分数(用于排序)
,name1 表示元素;对于已经存在的元素,重新执行 zadd 操作,会更新对应 score1 的值,也就分数值(会根据新的分数值进行排序)
zadd key score1 name1 score2 name2 score3 name3
zscore获取到 name1 的分数zscore key name1
zcard获取成员数量zcard  key
zrange范围查寻(从小到大)注:withscores如果没有添加不会显示值; -1 表示最后一位zrange key 0 -1
zrange key 0 -1 withscores
zrevrange范围查寻(从大到小)同 zrange 一样,只是顺序反过来zrevrange key 0 -1
zrevrange key 0 -1 withscores
zrangebyscore根据分数显示元素由低到高显示分数score1到score2之间的元素(带上分数显示)(显示a-b之间的元素)

这里有一个内置值 inf,表示无穷, -inf 表示负无穷, +inf 表示正无穷
zrangebyscore sort score1 score2(withscores)(limit a b)

zrangebyscore books -inf +inf
zrevrangbyscore同上逆序score从大到小排序分页ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]
zremzrem key name1 name2
zremrangebyrank按照范围删除删除下标为0 到 4之前的元素zremrangebyrank key 0 4
zremrangebyscore按照value删除将删除 分数在 80(包括) 到 90(包括) 之间的元素zremrangebyscore 80 90
zincrby指定成员增加
将元素b对应的分数加a,返回加完之后b对应的分数
zincrby key a b
zcount返回分数之间的元素个数返回分数score1到分数score2之间的元素个数zcount key score1 score2

上一篇
下一篇