字符串

介绍

字符串类型是 Redis 中最基本的数据类型,他能储存任何形式的字符串,包括二进制数据。你可以用其储存用户的邮箱、JSON 化的对象甚至是一张图片。一个字符串类型键允许储存的数据的最大容量是 512MB。

命令

  1. 赋值
SET key value
  1. 取值
GET key
  1. 递增数字
INCR key

字符串类型可以储存任何形式的字符串,当储存的字符串是整数形式时,Redis 提供了一个命令 INCR,其作用是让当前键值递增,并返回递增后的值。

当要操作的键不存在时会默认键值为 0,所以第一次递增后返回的结果是 1。当键值不是整数时 Redis 会提示错误。

  1. 增加指定的整数
INCRBY key increment

INCRBY 命令和 INCR 命令基本一样,只不过前者可以通过 increment 参数指定一次增加的数值。

  1. 减小指定的整数
DECR key
DECRBY key increment

DECR 命令与 INCR 命令用法相同,只不过是让键值递减。
6. 增加指定浮点数

INCRBYFLOAT key increment
  1. 向尾部追加值
APPEND key value

APPEND 作用是向键值的末尾追加 value。如果键不存在则将该键的值设置为 value。返回值是追加后字符串长度的总长度。

  1. 获取字符串长度
STRLEN key
  1. 同时获取/设置多个键值
MGET key [key ...]
MSET key value [key value ...]

散列

介绍

散列类型的键值是一种字典结构,其储存了字段和字段值的映射,但字段值只能是字符串,不支持其他数据结构。

命令

  1. 赋值与取值
HSET key field value
HGET key field
HMSET key field value [field value ...]
HMGET key field [field ...]
HGETALL key
  1. 判断字段是否存在
HEXISTS key field
  1. 当字段不存在时赋值
HSETNX key field value
  1. 增加数字
HINCRBY key field increment
  1. 删除字段
HDEL key field [field ...]
  1. 只获取字段名或字段值
HKEYS key
HVALS key
  1. 获取字段数量
HLEN key

列表

介绍

列表类型可以存储一个有序的字符串列表,常用的操作是向列表两端添加元素,或者获得列表的一个片段。

命令

  1. 向列表两端添加元素
LPUSH key value [value ...]
RPUSH key value [value ...]
  1. 从列表两端弹出元素
LPOP key
RPOP key
  1. 获取列表中元素的个数
LLEN key
  1. 获得列表片段
LRANGE key start stop

LRANGE 将返回索引从 startstop 之间的所有元素。
5. 删除列表中指定的值

LREM key count value

LREM 命令会删除列表中前 count 个值为 value 的元素,返回值是实际删除的元素个数。根据 count 值的不同,LREM 命令的执行方式会略有差异。

  • count > 0 时,会从列表左边开始删除前 count 个值为 value 的元素。
  • count < 0 时,会从列表右边开始删除前 | count | 个值为 value 的元素。
  • count = 0 时,会从删除所有值为 value 的元素。
  1. 获取/设置指定索引的元素值
LINDEX key index
LSET key index value
  1. 只保留列表指定片段
LTRIM key start end
  1. 向列表中插入元素
LINSERT key BEFORE | AFTER pivot value
  1. 将元素从一个列表转到另一个列表
RPOPLPUSH source destination

集合

介绍

在集合中的每个元素都是不同的,且没有顺序。

命令

  1. 增加/删除元素
SADD key member [member ...]
SREM key member [member ...]
  1. 获取集合中所有元素
SMEMBERS key
  1. 判断元素是否在集合中
SISMEMBER key member
  1. 集合间运算
SDIFF key [key ...] // 差集运算
SINTER key [key ...] // 交集运算
SUNION key [key ...] // 并集运算
  1. 获取集合中元素个数
SCARD key
  1. 进行集合运算并将结果存储至 destination
SDIFFSTORE destination key [key ...]
SINTERSTORE destination key [key ...]
SUNIONSTORE destination key [key ...]
  1. 随机获取集合中的元素
SRANDMEMBER KEY [count]

有序集合

操作

  1. 添加元素
ZADD key sorce member [sorce member ...]
  1. 获取元素的分数
ZSCORE key member
  1. 获取排名在某个范围的元素列表
ZRANGE key start stop [WITHSCORES]
ZREVRANGE key start stop [WITHSCORES]
  1. 获取指定分数范围的元素
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
  1. 添加某个元素的分数
ZINCRBY key increment member
  1. 获取集合中元素的个数
ZCARD key
  1. 获取指定分数范围内的元素个数
ZCOUNT key min max
  1. 删除一个或多个元素
ZREM key member []
  1. 按照排名范围删除元素
ZREMRANGEBYRANK key start stop
  1. 按照分数范围删除元素
ZREMRANGEBYSCORE key min max