Redis基础用法(三)

简介
redis set对外提供的功与list类似,是一个列表的功能,特殊之处在于set是可以自动排重的,当你需要存储一个列表数据,又不希望出现重复数据时,set是一个很好的选择。
redis的set是string类型的无序集合,他的底层实际是一个value为null的hash表,收益添加,删除,查找复杂度都是O(1)。
数据结构
set数据结构是字典,字典是用hash表实现的。
Java中的HashSet的内部实现使用HashMap,只不过所有的value都指向同一个对象。
Redis的set结构也是一样的,它的内部也使用hash结构,所有的value都指向同一个内部值。
常用命令
sadd:添加一个或多个元素
smembers:取出所有元素

127.0.0.1:6379> sadd k1 v1 v2 v1 v3 v2 #k1中放入5个元素,会自动去重,成功插入3(integer) 3
127.0.0.1:6379> smembers k1 
1) "v2" 
2) "v1" 
3) "v3"

sismember:判断集合中是否有某个值

127.0.0.1:6379> sadd k1 v1 v2 v1 v3 v2 #k1集合中成功放入3个元素[v1,v2,v3] 
(integer) 3 
127.0.0.1:6379> sismember k1 v1 #判断k1中是否包含v1,1:有 
(integer) 1 
127.0.0.1:6379> sismember k1 v5 #判断k1中是否包含v5,0:无 
(integer) 0

scard:返回集合中元素的个数

127.0.0.1:6379> sadd k1 v1 v2 v1 v3 v2 
(integer) 3 
127.0.0.1:6379> scard k1 
(integer) 3

srem:删除多个元素
移除集合 key 中的一个或多个 member 元素,不存在的 member 元=素会被忽略。
当 key 不是集合类型,返回一个错误。
返回值: 被成功移除的元素的数量,不包括被忽略的元素。

127.0.0.1:6379> sadd course java c c++
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值