字符串类型
字符串类型是Redis中最基本的数据类型,它能存储任何形式的字符串,包括二进制数据。一个字符串类型允许存储的数据的最大容量是512MB。
字符串类型是其他4种数据类型的基础,其他数据类型和字符串类型的差别从某种角度来说只是组织字符串的形式不同。
命令
- SET key value
- GET key
- INCR key
当存储的字符串是整数形式时,INCR命令让当前键值递增,并返回递增后的值。 - INCRBY key increment
增加指定的整数 - DECR key
- DECRBY key decrement
减少指定的整数 - INCRBYFLOAT key increment
增加指定浮点数 - APPEND key value
向尾部追加值 - STRLEN key
获取字符串长度 - MGET key [key …]
同时获得多个键值 - MSET key value [key value …]
同时设置多个键值
散列类型
Redis是采用字典结构以健值对的形式存储数据的,而散列类型的键值也是一种字典结构,其存储了字段和字段值的映射,但字段值只能是字符串,不支持其他数据类型。
散列类型键可以包含至多2^32-1个字段。
命令
赋值与取值
- 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
增加字段值
- HINCR key field increment
删除字段
- HDEL key 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
删除列表中指定的值
- LREM key count value
LREM命令会删除列表中前count个值为value的元素,返回值是实际删除的元素个数。
- 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
LINSERT命令首先会在列表中查找到值为pivot的元素,然后根据第二个参数是BEFORE还是AFTER来决定将value插入到该元素的前面还是后面。
将元素从一个列表转到另一个列表
- RPOPLPUSH source destination
整个过程是原子的。
集合类型
集合中每个元素都是不同的,而且没有顺序。一个集合类型(set)键可以存储至多2^32-1个字符串。
命令
增加删除元素
- SADD key member [member …]
- SREM key member [member …]
获得集合中所有的元素
- SMEMBERS key
判断元素是否在集合中
- SISMEMEBER key master
集合间运算
- SDIFF key [key …]
- SINTER key [key …]
- SUNION key [key …]
获取集合中元素的个数
- SCARD key
进行集合计算并将结果存储
- SDIFFSTORE destination key [key …]
- SINTERSTORE destination key [key …]
- SUNIONSTORE destination key [key …]
随机获取集合中的元素
- SRANDMEMBER key [count]
从集合中弹出一个元素(随机的)
- SPOP key
有序集合类型
有序集合类型(sorted set)是在集合类型的基础上为集合中的每一个元素都关联了一个分数。
虽然集合中每个元素都是不同的,但它们的分数却可以相同。
命令
增加元素
- ZADD key score member [score member …]
ZADD命令用来向集合中加入一个元素和该元素的分数。
分数不仅可以是整数,还支持双精度浮点数。
其中+inf和-inf分别表示正无穷和负无穷。
获取元素的分数
- ZSCORE key member
获取排名在某个范围的元素列表
- ZRANGE key start stop [WITHSCORES]
- ZRERANGE key start stop [WITHSCORES]
增加某个元素的分数
- ZINCRBY key increment member
获取集合中元素的数量
- ZCARD key
获取指定分数范围内元素的个数
- ZCOUNT key min max
删除一个或多个元素
- ZREM key member [member …]
按照排名范围删除元素
- ZREMRANGEBYRANK key start stop
按照分数范围删除元素
- ZREMRANGEBYSCORE key min max
获取元素的排名
- ZRANK key member
- ZRERANK key member