Redis开发运维实践数据操作之集合操作

2.4.1 添加元素

sadd key member

成功返回1,如果元素以及在集合中返回0,key对应的set不存在返回错误

2.4.2 移除元素

srem key member

成功返回1,如果member在集合中不存在或者key不存在返回0,如果key对应的不是set类型的值返回错误

2.4.3 删除并返回元素

spop key

如果set是空或者key不存在返回nil

2.4.4 随机返回一个元素

srandmember key

同spop,随机取set中的一个元素,但是不删除元素

2.4.5 集合间移动元素

smove srckey dstkey member

从srckey对应set中移除member并添加到dstkey对应set中,整个操作是原子的。成功返回1,如果member在srckey中不存在返回0,如果key不是set类型返回错误

2.4.6 查看集合大小

scard key

如果set是空或者key不存在返回0

2.4.7 判断member是否在set中

sismember key member

存在返回1,0表示不存在或者key不存在

2.4.8 集合交集

sinter key1 key2...keyN

返回所有给定key的交集


sinterstore dstkey key1...keyN

同sinter,但是会同时将交集存到dstkey下

2.4.9 集合并集

sunion key1 key2...keyN

返回所有给定key的并集


sunionstore dstkey key1...keyN

同sunion,并同时保存并集到dstkey下

2.4.10 集合差集

sdiff key1 key2...keyN

返回所有给定key的差集


sdiffstore dstkey key1...keyN

同sdiff,并同时保存差集到dstkey下

2.4.11 获取所有元素

smembers key

返回key对应set的所有元素,结果是无序的,集合元素很多时会阻塞,生产上禁用!

本文为《Redis开发运维实践指南》内容,该书作者为黄鹏程,已授权转载。

时间: 2024-10-03 10:22:15

Redis开发运维实践数据操作之集合操作的相关文章

Redis开发运维实践数据操作之列表操作

2.3.1 添加元素 lpush key string 在key对应list的头部添加字符串元素,返回1表示成功,0表示key存在且不是list类型.注意:江湖规矩一般从左端Push,右端Pop,即LPush/RPop. lpushx 也是将一个或者多个value插入到key列表的表头,但是如果key不存在,那么就什么都不在,返回一个false[rpushx也是同样] rpush key string 同上,在尾部添加 linsert 在key对应list的特定位置之前或之后添加字符串元素 ,

Redis开发运维实践数据操作之字符串操作

2.2.1 设置key对应的值为string类型的value set key value [ex 秒数] / [px 毫秒数] [nx] /[xx] 返回1表示成功,0失败注: 如果ex,px同时写,以后面的有效期为准setnx key value仅当key不存在时才Set,如果key已经存在,返回0 .nx 是not exist的意思.应用场景:用来选举Master或做分布式锁:所有Client不断尝试使用SetNx master myName抢注Master,成功的那位不断使用Expire刷

Redis开发运维实践数据操作之哈希操作

2.6.1 设置hash值 hset key field value 设置hash field为指定值,如果key不存在,则先创建. hsetnx 设置hash field为指定值,如果 key 不存在,则先创建.如果 field已经存在,返回0,nx是not exist的意思. 2.6.2 获取hash值 hget key field 获取指定的hash field hmget key filed1....fieldN 获取全部指定的hash filed hmset key filed1 va

Redis开发运维实践数据迁移之将key从当前数据库移动到指定数据库

4.1 将key从当前数据库移动到指定数据库 返回1成功.0 如果key不存在,或者已经在指定数据库中 Redis开发运维实践指南 本文为<Redis开发运维实践指南>内容,该书作者为黄鹏程,已授权转载.

Redis开发运维实践数据操作有序集合操作

2.5.1 添加元素 zadd key score member 添加元素到集合,元素在集合中存在则更新对应score. 2.5.2 删除元素 zrem key member 1表示成功,如果元素不存在返回0 zremrangebyrank key min max 删除集合中排名在给定区间的元素 zremrangebyscore key min max 删除集合中score在给定区间的元素 2.5.3 增加score zincrby key incr member 增加对应member的scor

Redis开发运维实践数据操作之HyperLogLog操作

2.7.1 将元素添加至 HyperLogLog PFADD key element [element ...] 这个命令可能会对 HyperLogLog 进行修改,以便反映新的基数估算值,如果 HyperLogLog 的基数估算值在命令执行之后出现了变化, 那么命令返回 1 , 否则返回 0 . 命令的复杂度为 O(N) ,N 为被添加元素的数量. 2.7.2 返回给定 HyperLogLog 的基数估算值 PFCOUNT key [key ...] 当只给定一个 HyperLogLog 时,

Redis开发运维实践指南数据操作之key操作

数据操作 熟悉每个数据操作前一定要明白每个操作都是代价,以时间复杂度和对应查询集或者结果集大小为衡量.时间复杂度收敛状况如下: 2.1.1 列出key keys *user* keys * 有3个通配符 *, ? ,[] *: 通配任意多个字符 ?: 通配单个字符 []: 通配括号内的某1个字符 注:生产已经禁止.更安全的做法是采用scan,原理和操作如下: 针对Keys的改进,支持分页查询Key.在迭代过程中,Keys有增删时不会要锁定写操作,数据集完整度不做任何保证,同一条key可能会被返回

Redis开发运维实践常见运维操作(一)

3.1 启动 3.1.1 启动redis 常见选项: ./redis-server (run the server with default conf) ./redis-server /etc/redis/6379.conf ./redis-server --port 7777 ./redis-server --port 7777 --slaveof 127.0.0.1 8888 ./redis-server /etc/myredis.conf --loglevel verbose 3.1.2

Redis开发运维实践开发设计规范之数据异常处理

4.3 数据异常处理 程序应该处理如果redis数据丢失时的清理redis内存和重新加载的过程. Redis开发运维实践指南