
Redis 基础类型
字符串
介绍
字符串类型是 Redis 中最基本的数据类型,他能储存任何形式的字符串,包括二进制数据。你可以用其储存用户的邮箱、JSON 化的对象甚至是一张图片。一个字符串类型键允许储存的数据的最大容量是 512MB。
命令
- 赋值
SET key value
- 取值
GET key
- 递增数字
INCR key
字符串类型可以储存任何形式的字符串,当储存的字符串是整数形式时,Redis 提供了一个命令 INCR
,其作用是让当前键值递增,并返回递增后的值。
当要操作的键不存在时会默认键值为 0,所以第一次递增后返回的结果是 1。当键值不是整数时 Redis 会提示错误。
- 增加指定的整数
INCRBY key increment
INCRBY
命令和 INCR
命令基本一样,只不过前者可以通过 increment 参数指定一次增加的数值。
- 减小指定的整数
DECR key
DECRBY key increment
DECR
命令与 INCR
命令用法相同,只不过是让键值递减。
6. 增加指定浮点数
INCRBYFLOAT key increment
- 向尾部追加值
APPEND key value
APPEND
作用是向键值的末尾追加 value
。如果键不存在则将该键的值设置为 value
。返回值是追加后字符串长度的总长度。
- 获取字符串长度
STRLEN key
- 同时获取/设置多个键值
MGET key [key ...]
MSET key value [key value ...]
散列
介绍
散列类型的键值是一种字典结构,其储存了字段和字段值的映射,但字段值只能是字符串,不支持其他数据结构。
命令
- 赋值与取值
HSET key field value
HGET key field
HMSET key field value [field value ...]
HMGET key field [field ...]
HGETALL key
- 判断字段是否存在
HEXISTS key field
- 当字段不存在时赋值
HSETNX key field value
- 增加数字
HINCRBY key field increment
- 删除字段
HDEL key field [field ...]
- 只获取字段名或字段值
HKEYS key
HVALS key
- 获取字段数量
HLEN key
列表
介绍
列表类型可以存储一个有序的字符串列表,常用的操作是向列表两端添加元素,或者获得列表的一个片段。
命令
- 向列表两端添加元素
LPUSH key value [value ...]
RPUSH key value [value ...]
- 从列表两端弹出元素
LPOP key
RPOP key
- 获取列表中元素的个数
LLEN key
- 获得列表片段
LRANGE key start stop
LRANGE
将返回索引从 start
到 stop
之间的所有元素。
5. 删除列表中指定的值
LREM key count value
LREM
命令会删除列表中前 count
个值为 value
的元素,返回值是实际删除的元素个数。根据 count
值的不同,LREM
命令的执行方式会略有差异。
- 当
count
> 0 时,会从列表左边开始删除前count
个值为value
的元素。 - 当
count
< 0 时,会从列表右边开始删除前| count |
个值为value
的元素。 - 当
count
= 0 时,会从删除所有值为value
的元素。
- 获取/设置指定索引的元素值
LINDEX key index
LSET key index value
- 只保留列表指定片段
LTRIM key start end
- 向列表中插入元素
LINSERT key BEFORE | AFTER pivot value
- 将元素从一个列表转到另一个列表
RPOPLPUSH source destination
集合
介绍
在集合中的每个元素都是不同的,且没有顺序。
命令
- 增加/删除元素
SADD key member [member ...]
SREM key member [member ...]
- 获取集合中所有元素
SMEMBERS key
- 判断元素是否在集合中
SISMEMBER key member
- 集合间运算
SDIFF key [key ...] // 差集运算
SINTER key [key ...] // 交集运算
SUNION key [key ...] // 并集运算
- 获取集合中元素个数
SCARD key
- 进行集合运算并将结果存储至
destination
SDIFFSTORE destination key [key ...]
SINTERSTORE destination key [key ...]
SUNIONSTORE destination key [key ...]
- 随机获取集合中的元素
SRANDMEMBER KEY [count]
有序集合
操作
- 添加元素
ZADD key sorce member [sorce member ...]
- 获取元素的分数
ZSCORE key member
- 获取排名在某个范围的元素列表
ZRANGE key start stop [WITHSCORES]
ZREVRANGE key start stop [WITHSCORES]
- 获取指定分数范围的元素
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
- 添加某个元素的分数
ZINCRBY key increment member
- 获取集合中元素的个数
ZCARD key
- 获取指定分数范围内的元素个数
ZCOUNT key min max
- 删除一个或多个元素
ZREM key member []
- 按照排名范围删除元素
ZREMRANGEBYRANK key start stop
- 按照分数范围删除元素
ZREMRANGEBYSCORE key min max