Redis散列与有序集合

127.0.0.1:6379> HGETALL k2

  1. “h2”

  2. “v2”

  3. “h3”

  4. “v3”

  5. “h4”

  6. “1”

HEXISTS

HEXISTS命令可以返回hash里面field是否存在,如下:

127.0.0.1:6379> HEXISTS k2 h3

(integer) 1

HINCRBY

HINCRBY可以增加key指定的哈希集中指定字段的数值。如果key不存在,会创建一个新的哈希集并与key关联。如果字段不存在,则字段的值在该操作执行前被设置为0,HINCRBY支持的值的范围限定在64位有符号整数,如下:

127.0.0.1:6379> HEXISTS k2 h3

(integer) 1

127.0.0.1:6379>

127.0.0.1:6379> HGET k2 h4

“1”

127.0.0.1:6379> HINCRBY k2 h4 5

(integer) 6

127.0.0.1:6379> HGET k2 h4

“6”

127.0.0.1:6379> HGET k2 h5

(nil)

127.0.0.1:6379> HINCRBY k2 h5 99

(integer) 99

127.0.0.1:6379> HGET k2 h5

“99”

HINCRBYFLOAT

HINCRBYFLOAT与HINCRBY用法基本一致,只不过这里允许float类型的数据,不赘述。

HLEN

HLEN返回key指定的哈希集包含的字段的数量,如下:

127.0.0.1:6379> HLEN k2

(integer) 4

HSTRLEN

HSTRLEN可以返回hash指定field的value的字符串长度,如果hash或者field不存在,返回0,如下:

127.0.0.1:6379> HSTRLEN k2 h2

(integer) 2

有序集合


有序集合类似Sets,但是每个字符串元素都关联到一个叫score浮动数值。里面的元素总是通过score进行着排序,因此它是可以检索的一系列元素。

ZADD

ZADD命令可以将所有指定成员添加到键为key的有序集合里面。添加时可以指定多个分数/成员(score/member)对。 如果指定添加的成员已经是有序集合里面的成员,则会更新该成员的分数(scrore)并更新到正确的排序位置。如下:

127.0.0.1:6379> ZADD k1 60 v1

(integer) 1

ZSCORE

ZSCORE命令可以返回有序集key中,成员member的score值。如下:

127.0.0.1:6379> ZSCORE k1 v1

“60”

ZRANGE

ZRANGE命令可以根据index返回member,该命令在执行时加上withscores参数可以连同score一起返回:

127.0.0.1:6379> ZRANGE k1 0 3

  1. “v1”

  2. “v2”

  3. “v3”

  4. “v4”

127.0.0.1:6379> ZRANGE k1 0 3 withscores

  1. “v1”

  2. “60”

  3. “v2”

  4. “70”

  5. “v3”

  6. “80”

  7. “v4”

  8. “90”

ZREVRANGE

ZREVRANGE和ZRANGE功能基本一致,不同的是ZREVRANGE是反着来的,如下:

127.0.0.1:6379> ZREVRANGE k1 0 3

  1. “v5”

  2. “v4”

  3. “v3”

  4. “v2”

127.0.0.1:6379> ZREVRANGE k1 0 3 withscores

  1. “v5”

  2. “100”

  3. “v4”

  4. “90”

  5. “v3”

  6. “80”

  7. “v2”

  8. “70”

ZCARD

ZCARD命令可以返回key的有序集元素个数。如下:

127.0.0.1:6379> ZCARD k1

(integer) 5

ZCOUNT

ZCOUNT命令可以返回有序集key中,score值在min和max之间(默认包括score值等于min或max)的成员。如下:

127.0.0.1:6379> ZCOUNT k1 60 90

(integer) 4

如果在统计时,不需要包含60或者90,则添加一个 ( 即可,如下:

127.0.0.1:6379> ZCOUNT k1 60 (90

(integer) 3

ZRANGEBYSCORE

ZRANGEBYSCORE命令可以按照score范围范围元素,加上withscores可以连score一起返回。如下:

127.0.0.1:6379> ZRANGEBYSCORE k1 60 80

  1. “v1”

  2. “v2”

  3. “v3”

127.0.0.1:6379> ZRANGEBYSCORE k1 60 80 withscores

  1. “v1”

  2. “60”

  3. “v2”

  4. “70”

  5. “v3”

  6. “80”

127.0.0.1:6379> ZRANGEBYSCORE k1 (60 80 withscores

  1. “v2”

  2. “70”

  3. “v3”

  4. “80”

ZRANK

ZRANK命令可以返回有序集key中成员member的排名。其中有序集成员按score值递增(从小到大)顺序排列。排名以0为底,即score值最小的成员排名为0。如下:

127.0.0.1:6379> ZRANK k1 v1

(integer) 0

127.0.0.1:6379> ZRANK k1 v2

(integer) 1

ZREVRANK

ZREVRANK和ZRANK命令功能基本一致,不同的是,ZREVRANK中的排序是从大到小:

127.0.0.1:6379> ZREVRANK k1 v1

(integer) 4

127.0.0.1:6379> ZREVRANK k1 v2

(integer) 3

ZINCRBY

ZINCRBY命令可以为有序集key的成员member的score值加上增量increment。如果key中不存在member,就在key中添加一个member,score是increment(就好像它之前的score是0.0)。如果key不存在,就创建一个只含有指定member成员的有序集合:

127.0.0.1:6379> ZINCRBY k1 3 v1

“63”

127.0.0.1:6379> ZRANGE k1 0 0 withscores

  1. “v1”

  2. “63”

ZINTERSTORE

ZINTERSTORE命令可以计算给定的numkeys个有序集合的交集,并且把结果放到destination中。 在给定要计算的key和其它参数之前,必须先给定key个数(numberkeys)。该命令也可以在执行的过程中给原score乘以weights后再求和,如下:

127.0.0.1:6379> ZADD k2 2 v1

(integer) 1

127.0.0.1:6379> ZADD k2 3 v2

(integer) 1

127.0.0.1:6379> ZADD k2 4 v3

(integer) 1

127.0.0.1:6379> ZADD k3 9 v2

(integer) 1

127.0.0.1:6379> ZADD k3 10 v3

(integer) 1

127.0.0.1:6379> ZADD k3 11 v4

(integer) 1

127.0.0.1:6379> ZINTERSTORE k4 2 k2 k3

(integer) 2

127.0.0.1:6379> ZRANGE k4 0 -1 withscores

  1. “v2”

  2. “12”

  3. “v3”

  4. “14”

127.0.0.1:6379> ZINTERSTORE k5 2 k2 k3 weights 3 1

(integer) 2

127.0.0.1:6379> ZRANGE k5 0 -1 withscores

  1. “v2”

  2. “18”

  3. “v3”

  4. “22”

ZREM

ZREM命令可以从集合中弹出一个元素,如下:

127.0.0.1:6379> ZRANGE k2 0 -1 withscores

  1. “v1”

  2. “2”

  3. “v2”

  4. “3”

  5. “v3”

  6. “4”

127.0.0.1:6379> ZREM k2 v1

(integer) 1

127.0.0.1:6379> ZRANGE k2 0 -1 withscores

  1. “v2”

  2. “3”

  3. “v3”

  4. “4”

ZLEXCOUNT

ZLEXCOUNT命令用于计算有序集合中指定成员之间的成员数量。如下:

127.0.0.1:6379> ZLEXCOUNT k2 - +

(integer) 2

127.0.0.1:6379> ZLEXCOUNT k2 [v2 [v4

(integer) 2

**注意:可以用-+**表示得分最小值和最大值,如果使用成员名的话,一定要在成员名之前加上[。

ZRANGEBYLEX

ZRANGEBYLEX 返回指定成员区间内的成员,按成员字典正序排序, 分数必须相同。如下:

127.0.0.1:6379> ZRANGEBYLEX k2 [v2 [v4

  1. “v2”

  2. “v3”

127.0.0.1:6379> ZRANGEBYLEX k2 - +

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值