Redis的set的使用

redis是一个高速缓存的key-values数据库,它支持五种的数据类型,包括字符串类型(String)、列表(list)、集合(set)、有序集合(zset)、哈希(hash)。下面我们来详细分析redis集合(set)类型的使用和应用场景。.

没有排序的字符集合,和list一样。可添加,删除,或判断元素是否存在的操作。(1)和list类型不同,不允许出现重复的元素。和c++的set容器是完全相同。set类型功能上存在服务器端完成聚合计算。效率很高,节省网络的开销。(2)最大允许元素4294967295。

Redis SET 命令用于设置给定 key 的值。如果 key 已经存储其他值, SET 就覆写旧值,且无视类型。

语法

redis SET 命令基本语法如下:

redis 127.0.0.1:6379> SET KEY_NAME VALUE

添加操作

127.0.0.1:6379[2]> sadd myset hello 
(integer) 1

展示所有元素

127.0.0.1:6379[2]> sadd myset hello1 hellow
(integer) 2
127.0.0.1:6379[2]> smembers myset 
1) "hellow"
2) "hello"
3) "hello1"

判断元素是否存在

127.0.0.1:6379[2]> sismember myset hello 
(integer) 1
127.0.0.1:6379[2]> sismember myset test
(integer) 0

查询set的长度

127.0.0.1:6379[2]> scard myset 
(integer) 3

删除操作

127.0.0.1:6379[2]> srem myset hello 
(integer) 1
127.0.0.1:6379[2]> smembers myset
1) "hellow"
2) "hello1"
127.0.0.1:6379[2]> 

set使用场景

1、共同好友、二度好友

2、利用唯一性,可以统计访问网站的所有独立 IP

3、随机展示

4、黑名单/白名单