Redis 数据库支持多种数据类型,主要有:String
、List
、Set
、Sorted Set
、Hash
等,每种数据类型都有其各自的特点。
一、set 类型
set 数据是一种无序的集合,在 redis 内部, set 数据类型通过 HashTable
(哈希表)实现,set 数据类型的优点是可以快速查找元素是否存在,通常用于记录一些不重复的数据,例如:用 set 记录网站已经注册时用户名,当用户注册新的用户名时候,可以快速查找在 set 中是否已经存在同名的账户,从而决定是否允许用户注册该账户名。
二、相关命令行命令
sadd key member
:向 key 对应的 set 中添加一个值为 member 元素;
srem key member
:从 key 对应的 set 中移除值为 member 的元素;
spop key
:从 key 对应的 set 中随机删除一个元素并返回删除的元素值;
srandmember key
:同 spop,但只是返回随机的元素值而不删除;
smove srckey dstkey member
:将 srckey 对应的 set 中的元素 member 移动到 dstkey 对应的 set 中;
scard key
:返回 key 对应的 set 的元素个数;
sismember key member
:判断 member 元素是否 存在于 key 对应的 set 中;
sinter key1 key2 ... keyN
:返回所有给定的 key 对应的 set 集合的交集;
sinterstore dstkey key1 ... keyN
:同 sinter,返回交集的同时将交集存放到 dstkey 对应的 set 中;
sunion key1 key2 ... keyN
:返回所有给定 key 对应 set 的并集;
sunionstore dstkey key1 ... keyN
:同 sunion,返回并集的同时将并集存放到 dstkey 对应的 set 中;
sdiff key1 ... keyN
:返回所有给定 key 的 set 对应的差集;
sdiffstore dstkey key1 ... keyN
:同 sdiff,返回差集的同时将差集存放到 dstkey 对应的 set 中;
smembers key
::返回 key 对应的 set 中的所有元素的无序列表;