redis常用数据类型操作三 集合(Set)
redis集合(Set)
简介
Redis 对外提供的功能与list类似是一个列表的功能,特殊之处在于set是可以 自动排重
redis 的set 是string 类型的 无序集合 。它的底层其实是一个value为null的hash表 所以 添加、删除的复杂度都是O(1)
一个算法,随着数据的增加,执行时间的长短,如果是O(1),数据增加,查找数据的时间不变
常用命令
sadd
smembers
sismember
scard
srem
spop
srandmember
smove
sinter
sunion
sdiff
数据结构
set数据结构是dict字典,字典是用哈希表实现的。
c#中的hashset的内部实现使用的是hashmap,只不过所有的value都指向同一个对象。redis的set结构也是一样,它的内部也使用hash结构,所有的value都指向同一个内部值。