在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
接上一篇 redis ruby客户端学习( 二) 对于redis的五种数据类型:字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets),上一篇介绍了哈希和列表。 一,集合
require "redis" r = Redis.new r.mset 'my_set', 'value1'
r.scard 'my_set' 返回一个集合与给定集合的差集的元素. r.sdiff 'my_set', 'my_set2'
r.sinter 'my_set', 'my_set2'
r.sismember 'my_set', 'value2'
r.smembers 'my_set'
将 如果source 集合不存在或者不包含指定的元素,这smove命令不执行任何操作并且返回 如果 r.smove 'my_set2', 'my_set', 'temp'
在 如果 r.srem 'my_set', 'temp'
返回给定的多个集合的并集中的所有成员. r.sunion 'my_set', 'my_set2' 二,有序集合
该命令添加指定的成员到key对应的有序集合中,每个成员都有一个分数。你可以指定多个分数/成员组合。如果一个指定的成员已经在对应的有序集合中了,那么其分数就会被更新成最新的,并且该成员会重新调整到正确的位置,以确保集合有序。如果key不存在,就会创建一个含有这些成员的有序集合,就好像往一个空的集合中添加一样。如果key存在,但是它并不是一个有序集合,那么就返回一个错误。 分数的值必须是一个表示数字的字符串,并且可以是double类型的浮点数。 r.zadd 'z_set', 3,'three'
r.zcard 'z_set'
r.zcount 'z_set',1,3
为有序集key的成员member的score值加上增量increment。如果key中不存在member,就在key中添加一个member,score是increment(就好像它之前的score是0.0)。如果key不存在,就创建一个只含有指定member成员的有序集合。 当key不是有序集类型时,返回一个错误。 score值必须是字符串表示的整数值或双精度浮点数,并且能接受double精度的浮点数。也有可能给一个负数来减少score的值。 r.zincrby 'z_set',10,'two'
返回有序集key中,指定区间内的成员。其中成员按score值递增(从小到大)来排序。具有相同score值的成员按字典序来排列。 如果你需要成员按score值递减(score相等时按字典序递减)来排列,请使用ZREVRANGE命令。 下标参数start和stop都以0为底,也就是说,以0表示有序集第一个成员,以1表示有序集第二个成员,以此类推。 你也可以使用负数下标,以-1表示最后一个成员,-2表示倒数第二个成员,以此类推。 超出范围的下标并不会引起错误。如果start的值比有序集的最大下标还要大,或是start > stop时,ZRANGE命令只是简单地返回一个空列表。另一方面,假如stop参数的值比有序集的最大下标还要大,那么Redis将stop当作最大下标来处理。 r.zrange 'z_set',1, -1
返回有序集key中成员member的排名。其中有序集成员按score值递增(从小到大)顺序排列。排名以0为底,也就是说,score值最小的成员排名为0。 r.zrank 'z_set','two'
r.zrem 'z_set','two'
r.zrank 'z_set','five' 小结: 本次主要介绍了redis ruby客户端五种数据类型中集合和有序集合的常见方法。 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论