本文参考以下文章:
Redis实战
Redis 命令参考

常用数据结构

Redis支持5种数据结构,分别是STRING(字符串)、LIST(列表)、HASH(散列)、SET(集合)、ZSET(有序集合)。Redis的一部分指令对这5中数据类型是通用的,如DEL、TYPE等;但也有一部分Redis指令只对特定的一种或者两种结构支持。

STRING(字符串)数据结构

STRING结构示意图:
Redis的数据结构简介
常用指令:

命令 用例和描述
GET GET key 获取key所关联的字符串值
SET SET key value 设置key和value的关联关系
DEL DEL key 删除对应key
INCR INCR key-name 将键存储的值加上1
DECR DECR key-name 将键存储的值减去1
INCRBY INCRBY key-name amount 将键存储的值加上整数amount
DECRBY DECRBY key-name amount 将键存储的值减去整数amount
INCRBYFLOAT INCRBYFLOAT key-name amount 将键存储的值加上浮点数amount,这个命令在Redis2.6+可用

LIST(列表)数据结构

Redis的数据结构简介

注意事项:列表里面的元素是可以重复的
常用指令:

命令 用例和描述
LPUSH LPUSH key-name value1 将给定值推入到列表的左端
RPUSH RPUSH key-name value1 将给定值推入到列表的右端
LPOP LPOP key-name 将列表左端的一个值弹出,并返回被弹出的值
RPOP RPOP key-name 将列表右端的一个值弹出,并返回被弹出的值
LRANGE LRANGE key-name start end 返回列表从start偏移量到end偏移量范围内的所有元素,包括start和end。start 和 end 偏移量都是基于0的下标,即list的第一个元素下标是0(list的表头),第二个元素下标是1,以此类推。偏移量也可以是负数,表示偏移量是从list尾部开始计数。 例如, -1 表示列表的最后一个元素,-2 是倒数第二个,以此类推。
LINDEX LINDEX key-name offset 返回列表中偏移量为offset的值
LTRIM LTRIM key-name start end 对列表进行修剪,只保留start偏移量到end偏移量范围内的元素,包括start和end

HASH(哈希)数据结构

Redis的哈希可以让用户将多个键值对存储到一个Redis键中。和字符串一样,哈希存储的值既可以是字符串也可以是数字值,可以对数字值进行自增或者自减操作。可以把这种数据聚集看成是关系数据库中的行。
Redis的数据结构简介

常用指令:

命令 用例和描述
HSET HSET key-name field value 将哈希键key中field的值设为value
HMSET HMSET key-name field value [field value …] 同时将多个 field-value (域-值)对设置到哈希表 key 中。
HGET HSET key-name field 获取哈希键key中field的值
HMGET HMGET key-name field [field …] 从哈希里面获取一个或者field的值
HGETALL HGETALL key-name 获取哈希键key中所有键值对
HDEL HGETALL key-name field 删除哈希键key中field对应的键值对
HLEN HLEN key-name 返回哈希包括的键值对数量
HEXISTS HEXISTS key-name field 检测给定field是否存在哈希中

SET(集合)数据结构

Redis的集合和列表都可以存储多个字符串,它们之间的不同在于,列表可以存储多个相同的字符串,而集合不可以。另外集合是无序的,而列表是有序的。
Redis的数据结构简介

常用指令:

命令 用例和描述
SADD SADD key-name value1 [value2….] 将一个或者多个元素加入到集合key-name中,已经存储在集合中元素会被忽略,返回添加成功的元素数量
SMEMBERS SMEMBERS key-name 获取集合key-name中的所有元素
SREM SREM key-name value1 [value2….] 尝试删除集合key-name中的一个或者多个元素,如果元素存在集合中,则被删除,否则会被忽略
SCARD SCARD key-name 获取集合中的元素个数

ZSET(有序集合)数据结构

有序集合和哈希一样,都用于存储键值对:其中有序集合的每个键称为成员,都是独一无二的,而有序集合的每个值成为分值,都必须是浮点数。有序集合是Redis中唯一既可以根据成员访问元素,又可以根据分值以及分支的排列顺序来访问元素的结构。
Redis的数据结构简介

常用命令:

命令 用例 描述
ZADD ZADD key-name score member [score member] 将一个带有分值的成员添加到有序集合中
ZRANGE ZRANGE zset-key start stop 返回有序集合中,指定区间内的成员
ZRANGEBYSCORE ZRANGEBYSCORE zset-key min max 返回有序集合中,所有score值介于min和max之间(包括main和max)的成员
ZREM ZREM zset-key member [member] 从有序集合中移出给定的成员,并返回被移除成员的数量
ZCARD ZCARD zset-key 返回有序集合中包含的成员数量

相关文章: