Redis 笔记(06)

您所在的位置:网站首页 怎么获取set中的元素个数 Redis 笔记(06)

Redis 笔记(06)

2024-05-27 17:52| 来源: 网络整理| 查看: 265

Redis 的 set 集合内部的键值对是无序的唯一的。它的内部实现相当于一个特殊的字典,字典中所有的 value 都是一个值 NULL 。当集合中最后一个元素移除之后,数据结构自动删除,内存被回收。

set 结构可以用来存储活动中奖的用户 ID,因为有去重功能,可以保证同一个用户不会中奖两次。

1. set 类型相关命令 命令说明sadd key member添加一个string元素到key对应的set集合中scard key返回set的元素个数sismember key member判断member是否在set中srem key member从key对应set中移除给定元素smembers key返回key对应set的所有元素,结果是无序的spop key[count]删除并取得一个集合里面的元素srandmember key [count]从集合中随机获取一个keysmove p1 p2 member从p1对应set中移除给定元素并添加到p2对应set中sinter key p1 p2…pN返回所有给定key的交集sunion key p1 p2…pN返回所有给定key的并集sdiff key p1 p2…pN返回所有给定key 的差集sinterstore destination key [key….]获取两个集合的交集,并存储在一个关键的结果集sunionstore destination key [key…]合并set集合,并将结果存入新的set里面sdifferstore destination key[key…]获取队列的差集,并存储在一个新的结果集smove source destination member移动集合里的一个key到另一个集合 2. set 类型 使用示例 127.0.0.1:6379> sadd set "east" (integer) 1 127.0.0.1:6379> sadd set "west" (integer) 1 127.0.0.1:6379> sadd set "south" (integer) 1 127.0.0.1:6379> sadd set "north" (integer) 1 127.0.0.1:6379> scard set (integer) 4 127.0.0.1:6379> sismember set "middle" (integer) 0 127.0.0.1:6379> sismember set "south" (integer) 1 127.0.0.1:6379> sadd set "middle" (integer) 1 127.0.0.1:6379> scard set (integer) 5 127.0.0.1:6379> smembers set # 注意顺序,和插入的并不一致,因为 set 是无序的 1) "east" 2) "south" 3) "north" 4) "west" 5) "middle" 127.0.0.1:6379> spop set "middle" 127.0.0.1:6379> srandmember set "east" 127.0.0.1:6379> srandmember set "east" 127.0.0.1:6379> srandmember set "west" 127.0.0.1:6379> scard set (integer) 4 127.0.0.1:6379> sadd set_a 1 (integer) 1 127.0.0.1:6379> sadd set_a 2 (integer) 1 127.0.0.1:6379> sadd set_a 3 (integer) 1 127.0.0.1:6379> sadd set_b 2 (integer) 1 127.0.0.1:6379> sadd set_b 3 (integer) 1 127.0.0.1:6379> sadd set_b 4 (integer) 1 127.0.0.1:6379> smove set set_a east (integer) 1 127.0.0.1:6379> smembers set_a 1) "east" 2) "3" 3) "2" 4) "1" 127.0.0.1:6379> sinter set_a set_b 1) "2" 2) "3" 127.0.0.1:6379> sunion set_a set_b 1) "2" 2) "4" 3) "east" 4) "3" 5) "1" 127.0.0.1:6379> sdiff set_a set_b 1) "east" 2) "1" 127.0.0.1:6379> smove set set_a (error) ERR wrong number of arguments for 'smove' command 127.0.0.1:6379> smove set set_a west (integer) 1 127.0.0.1:6379> smembers set_a 1) "east" 2) "3" 3) "2" 4) "1" 5) "west" 127.0.0.1:6379>


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3