Set
键值无序且唯一
SETADD
SADD key member [member ...]- 将一个或多个
member元素加入到集合key当中,已经存在于集合的member元素将被忽略 - 假如
key不存在,则创建一个只包含member元素作成员的集合 - 返回添加的新元素数量,重复值忽略
SCARD
SCARD key- 返回
key含有的元素数量
SISMEMBER
SISMEMBER key member- 判断
member是否存在于键值为key的集合中
SMEMBERS
SMEMBERS key- 返回集合中所有元素
SMOVE
SMOVE source destination member- 将
member从source集合中移动到destination集合中,是个原子性操作 - 如果
source没有member元素,则不执行操作 - 如果
destination存在member元素,则只执行source删除member元素
SPOP
SPOP key- 随机删除集合中一个元素并返回
SRANDMEMBER
SRANDMEMBER key [count]- 随机返回集合中的元素,
count不填时,返回一个 count >= 集合长度,返回整个集合count < 集合长度 && count > 0,返回count个元素count < 0,返回的元素可能会重复出现多次,而数组的长度为count的绝对值- 只会返回元素,不会操作集合,和
SPOP随即移除一个元素并返回不同
SREM
SREM key member[member...]- 移除一个或多个元素,不存在的元素会被忽略
SSCAN
SSCAN cursor [MATCH pattern][COUNT count]cursor:游标,默认从0开始,每一次执行scan除了返回查询结果还会返回游标的位置,即便某次查询结果为空,并不能代表遍历结束,只有当返回的游标为0时,才能代表遍历结束match: 默认是 * ,匹配指定的元素count:默认是10,redis的底层实现类似java的hashmap,都是hash表,所以真正存储数据的是数组,count指定的是每次查询数组多少个元素
SDIFF
SDIFF key[key...]- 返回第一个集合中存在,但是其他集合中不存在的元素集合
SDIFFSTORE
SDIFFSTORE destination key[key...]- 返回第一个集合中存在,但是其他集合中不存在的元素集合
- 将返回的结果保存在
destination中,如果destination集合已存在,则将其覆盖
SINTER
SINTER key[key...]- 返回所有集合的交集元素
SINTERSTORE`
SINTERSTORE destination key[key...]- 返回所有集合的交集元素
- 将返回的结果保存在
destination中,如果destination集合已存在,则将其覆盖
SUNION
SUNION key[key...]- 返回所有集合的并集
SUNIONSTORE
SUNIONSTORE destination key[key...]- 返回所有集合的并集
- 将返回的结果保存在
destination中,如果destination集合已存在,则将其覆盖
Hash
HSET
HSET key field value- 将哈希表中
key中的fields设置值为value - 如果
key不存在,则创建一个新的key,并进行操作 - 如果存在,则覆盖旧值
HMSET
HMSET key field[field value...]- 批量创建
- 如果
key不存在,则创建一个新的key,并进行操作 - 如果存在,则覆盖旧值
HSETNX
HSETNX key field value- 仅当key中的field不存在,才会操作,若已存在,则不操作
- 如果key不存在,则创建一个新的key,并进行操作
HGET
HGET key field- 获取键为
key的哈希表中字段为field的值 - 给定域不存在或是给定
key不存在时,返回nil
HMGET
HMGET key field[field...]- 批量获取值
- 如果给定的field不存在,则返回nil
- 如果key不存在,则返回nil的列表
HGETALL
HGETALL key- 返回哈希表中key中的所有域和值
HKEYS
HKEYS key- 返回哈希表中key的所有域
HVALS
HVALS key- 返回哈希表中key的所有域对应的值
HLEN
HLEN key- 返回哈希表中key中域的数量
HDEL
HDEL key field[field...]- 批量移除key中的域
HEXISTS
HEXISTS key field- 判断是否key中是否存在字段field
HINCRBY
HINCRBY key field increment- 对字段field的值加上
increment increment可以也可以为负数- 若
key不存在,则创建一个新的哈希表,且将field的值,初始化为0
HINCRBYFLOAT
HINCRBYFLOAT key field increment- 为哈希表
key中的域field加上浮点数增量increment increment可以也可以为负数- 若
key不存在,则创建一个新的哈希表,且将field的值,初始化为0
HSCAN
HSCAN key cursor [MATCH pattern] [COUNT count]- 基于游标迭代
- 参考
SCAN