Redis常用命令(Hash、Zset)
Hash常用命令
对于 hash 类型,key-value 的模式不变,只不过 key 对应的 value 是一个 map。key-value不可以重复,如果重复则覆盖。
用于对象赋值。相当于Java中的HashMap。
hset user id 1
向 user(map) 中添加 key-value 对(id,1)hget user id
获取 user 中的 id 所对应的值:hmset user name zhangsan sex man
设置多个 key-value 对:hmget user name sex
获取多个 key:hgetall user
获取 user 中的所有 key-value 对:hdel user sex
删除 map 中的 key为sex的键值对:hlen user
获取 user 中的 key-value 对的个数:hexists user id
判断 user 中是否包含 id(包含:1,不包含:0):hkeys user
返回 user 中所有的 key:hvals user
返回 user 中所有的 valueshincrby user id 4
给 user 中的 id 加 4(必须是数字):hincrbyfloat user id 2.3
hincrbyfloat 可以加浮点数:hsetnx user id 2
如果 id 不存在才设置,否则失败:
Zset(sorted set)常用命令
Redis 的 zset 是 set 的有序版。在 set 基础上,加一个 score 值,就是通过这个 score 值来实现的有序。之前 set 是 k1 v1 v2 v3,现在 zset 是 k1 score1 v1 score2 v2。
zadd zset01 60 v1 70 v2 80 v3 90 v4 100 v5
向 zset01 中添加 v1,v2,v3,v4,v5 这 5 个元素,前面的数字就是 score,用来排序:zrange zset01 0 -1 withscores(可无)
列出 zset01 中的所有元素以及它们对应的 score(不列出):zrangebyscore zset01 60 80
按照 score 来取 zset01 中的元素(范围:[60, 80])。zrangebyscore zset01 60 80 withscores
按照 score 来取 zset01 中的元素,并显示 score(范围:[60, 80]):zrangebyscore zset01 60 80 withscores limit 1 2
按照 score 来取 zset01 中的元素,并显示 score(范围:[60, 80]),并分页,从第二条开始,选取两条:zrem zset01 v1 v2
删除 zset01 中的 v1 和 v2 两个元素:zcard zset01
获取 zset01 中的元素的个数(不包括score)zcount zset01 60 80
根据分值统计 zset01 中的元素个数。注:默认是闭区间,也就是大于等于 60,小于等于 80。(60 80 是大于60小于等于80,同理60 (80。zcount zset01 (60 (80
根据分值统计 zset01 中的元素个数大于小于。(60 80 是大于60小于等于80,同理60 (80。zrank zset01 v1
获取 zset01 中 v1 所对应的索引值:zscore zset01 v1
获取 zset01 中 v1 的 score 值:zrevrank zset01 v4
获取 zset01 中 v4 对应的索引值(逆序,最后一个是 0):zrevrange zset01 0 2
获取 zset01 中下标值范围为 [0, 2] 范围内的元素(逆序):zrevrangebyscore zset01 90 60
在 zset01 中按照分数逆序排序([60, 90]):
还没有评论,来说两句吧...