1. list结构在redis内部是使用值为空的散列表实现,多个集合键之间还可以进行并集、交集和差集。
2. 基本命令:
2.1 增加元素:sadd key member(已经存在集合中就会忽略这个元素,命令返回值是成功加入的元素数量)
2.2 删除元素:srem key member
2.3 获得集合中所有元素:smembers key
2.4 判断元素是否在集合中:sismember key member
2.5 集合中元素个数:scard key
3. 集合间运算:
差集:sdiff key1 key2 key3(先计算key1-key2,再计算结果与key3的差集)
交集:sinter key1 key2 key3
并集:sunion key1 key2 key3
4. 插播小广告:
mac根据端口号查进程:lsof -i:端口号
杀进程:kill -9 PID ; kill -s 9 PID
5. 随机获取集合中多个元素:srandmember key count
获取元素原理:list采用散列表存储,使用散列函数将元素映射到不同桶上,当不同元素散列值相同时会出现冲突,redis使用拉链法解决,将散列值相同的元素以链表形式存入,查找元素时先找到对应桶,再从桶中链表找到元素,这个命令会随机选一个桶,再从这个桶随机选一个元素,所以桶中元素数量越少,选中概率就越大。
6. 从集合中弹出一个元素:spop key(由于list无序,所以是随机弹一个元素)