目录
Redis支持五种数据类型:String, Hash, List, Set, ZSet,这个系列介绍一下如何使用这些数据类型,本篇介绍使用命令行模式以及python客户端对redis进行操作,实际项目的过程中也大多是一模一样的用法。
相关内容:
Redis系列(一)、CentOS7下安装Redis6.0.3稳定版
------------------------Redis无序集合类型----------------------
介绍
Redis 的 Set 是 string 类型的无序集合。
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。
集合中最大的成员数为 2^32 - 1 (4294967295, 每个集合可存储40多亿个成员)。
命令行模式
进入命令行模式:
redis-cli -a password_value
redis-cli -a password_value --raw
--raw 避免中文显示乱码
help
使用下面的命令查看手册:
help @set
増
sadd
给集合内新增成员,若集合不存在则创建集合并新增成员:
SADD key member [member ...]
删
srem
从集合中删除指定的成员,返回删除的个数:
SREM key member [member ...]
改
smove
SMOVE source destination member
查
smembers
查看集合中所有的成员:
SMEMBERS key
scard
返回集合中成员的个数 :
SCARD key
srandmember
从集合中随机返回指定个数的成员:
SRANDMEMBER key [count]
sismember
判断对象是否是集合中的成员,返回1/0,True/False:
SISMEMBER key member
spop
从集合中随机弹出一个成员,返回该成员并从集合中删除该成员:
SPOP key
交集
sinter
取多个集合的交集,返回这些集合中共同拥有的成员:
SINTER key [key ...]
sinterstore
将多个集合的交集的结果保存为一个新的集合destination ,返回新集合的成员个数:
SINTERSTORE destination key [key ...]
并集
sunion
取多个集合的并集,相同的成员会被去重:
SUNION key [key ...]
sunionstore
将多个集合的并集的结果保存为一个新的集合destination ,返回新集合的成员个数:
SUNIONSTORE destination key [key ...]
差集
sdiff
取多个集合的差集,以最左边的为主集合,返回左集合中有而其他集合没有的成员:
SDIFF key [key ...]
sdiffstore
将多个集合的差集的结果保存为一个新的集合destination ,返回新集合的成员个数 :
SDIFFSTORE destination key [key ...]
应用场景
- 抽奖:随机返回指定个数成员
- 共同好友:取交集
- 好友推荐:根据标签取交集,交集的成员个数大于某个阈值触发推荐动作
Python客户端与命令行函数基本上完全一致,篇幅太长因此不再过多的展示。
希望本文对你有帮助,请点个赞鼓励一下作者吧~ 谢谢!