Redis的数据结构之Set
Redis的数据结构和Java的集合框架很像,如果Java的集合框架学的好,这个很快就能掌握。
Set 是一个无序的,不可重复的数据集合。
将一个重复的元素添加到set中将会被忽略。
命令
SADD
SADD set element [element...]
通过使用SADD命令,用户可以将一个或多个元素添加到集合中
这个命令会返回成功添加的新元素数量作为返回值。
因为集合不存储相同的元素,所以用户在使用SADD命令向集合中添加元素的时候,SADD命令会自动忽略已存在的元素,只将不存在于集合的新元素添加到集合中。
SREM
SREM set element [element...]
通过使用SREM命令,用户可以从集合中移除一个或多个已存在的元素
SMOVE
SMOVE source target element
SMOVE命令在移动操作成功执行时返回1。如果指定的元素并不存在于源集合,那么SMOVE命令将返回0,表示移动操作执行失败。
即使用户想要移动的元素已经存在于目标集合,SMOVE命令仍然会将指定的元素从源集合移动到目标集合,并覆盖目标集合中的相同元素。从结果来看,这种移动不会改变目标集合包含的元素,只会导致被移动的元素从源集合中消失。
SMEMBERS
SMEMBERS set
通过使用SMEMBERS命令,用户可以取得集合包含的所有元素
SCARD
SCARD set
通过使用SCARD命令,用户可以获取给定集合的大小,即集合包含的元素数量
SISMEMBER
SISMEMBER set element
过使用SISMEMBER命令,用户可以检查给定的元素是否存在于集合当中
SISMEMBER命令返回1表示给定的元素存在于集合当中;返回0则表示给定元素不存在于集合当中。
SRANDMEMBER
SRANDMEMBER set [count]
通过使用SRANDMEMBER命令,用户可以从集合中随机地获取指定数量的元素。
SRANDMEMBER命令接受一个可选的count参数,用于指定用户想要获取的元素数量,如果用户没有给定这个参数,那么SRANDMEMBER命令默认只获取一个元素
通过可选的count参数,用户可以指定SRANDMEMBER命令返回的元素数量,其中count参数的值既可以是正数也可以是负数。
如果count参数的值为正数,那么SRANDMEMBER命令将返回count个不重复的元素
如果count参数的值为负数,那么SRANDMEMBER命令将随机返回abs(count)个元素(abs(count)也即是count的绝对值),并且在这些元素当中允许出现重复的元素
SPOP
SPOP key [count]
通过使用SPOP命令,用户可以从集合中随机地移除指定数量的元素。SPOP命令接受一个可选的count参数,用于指定需要被移除的元素数量。如果用户没有给定这个参数,那么SPOP命令默认只移除一个元素