2026-02-10 09:52:48
Redis 数据库常用命令
Redis 是一个高性能的 key-value 数据库,每条数据都是一个键值对,其中键的类型是字符串且不能重复。Redis 支持多种数据类型,包括字符串(string)、哈希(hash)、列表(list)、集合(set)和有序集合(zset)。以下是 Redis 中针对这些数据类型的一些常用命令。
一、字符串类型(string)
普通键值对保存
SET key value:设置键值对。
根据键获取值
GET key:获取指定键的值,如果不存在则返回 nil。
设置键值及过期时间
SETEX key seconds value:设置键值对,并为其指定过期时间(以秒为单位),过期后值为 nil。
设置多个键值
MSET key1 value1 key2 value2 ...:同时设置多个键值对。
根据多个键获取多个值
MGET key1 key2 key3 ...:同时获取多个键的值。
查看所有键
KEYS *:查看数据库中所有的键(不推荐在生产环境中使用,因为可能导致性能问题)。
查看名称中包含特定字符的键
KEYS pattern:例如 KEYS n* 查看名称中包含 'n' 的所有键。
判断键是否存在
EXISTS key:判断指定键是否存在,存在返回 1,不存在返回 0。
查看键对应的值类型
TYPE key:返回指定键的值类型。
删除键值对
DEL key1 key2 ...:删除一个或多个键值对。
二、哈希类型(hash)
哈希类型用于存储对象,对象的结构为属性、值,值的类型为 string。
设置单个属性
HSET key field value:为指定键设置单个属性及其值。
设置多个属性
HMSET key field1 value1 field2 value2 ...:为指定键设置多个属性及其值(注意:在 Redis 4.0.0 及以上版本中,HMSET 已被标记为过时,建议使用 HSET 的多字段形式)。
获取指定的键所有的字段
HKEYS key:返回指定键的所有字段名。
获取一个字段的值
HGET key field:返回指定键的某个字段的值。
获取指定的多个字段的值
HMGET key field1 field2 ...:返回指定键的多个字段的值。
获取所有字段的值
HVALS key:返回指定键的所有字段的值。
删除字段
HDEL key field1 field2 ...:删除指定键的一个或多个字段,字段对应的值会被一起删除。
删除整个 hash 数据
DEL key:删除包含指定键的整个 hash 数据。
三、列表类型(list)
列表类型是一个有序的字符串列表,可以按照索引位置对元素进行插入和删除操作。
创建列表/从列表左侧插入数据
LPUSH key value1 value2 ...:从列表左侧插入一个或多个元素,新的元素会添加到列表的头部。
创建列表/在列表右侧插入数据
RPUSH key value1 value2 ...:从列表右侧插入一个或多个元素,新的元素会添加到列表的尾部。
数据获取
LRANGE key start stop:获取列表指定范围内的元素,索引从 0 开始,stop 为 -1 时表示获取到列表末尾。
删除指定数量的指定元素
LREM key count value:从列表中删除指定数量的指定元素。count 的值大于 0 时,从左往右删除;小于 0 时,从右往左删除;等于 0 时,删除所有匹配的元素。
四、集合类型(set)
集合类型是一个无序的字符串集合,集合中的元素具有唯一性,不能重复。
添加元素
SADD key member1 member2 ...:向集合中添加一个或多个元素。
获取所有元素
SMEMBERS key:返回集合中的所有元素。
删除指定元素
SREM key member1 member2 ...:从集合中删除一个或多个元素。
五、有序集合类型(zset)
有序集合类型是一个有序的字符串集合,每个元素都会关联一个 double 类型的 score,表示权重,通过权重将元素从小到大排序。元素具有唯一性,不能重复。
添加数据
ZADD key score1 member1 score2 member2 ...:向有序集合中添加一个或多个元素及其对应的权重。
获取数据
ZRANGE key start stop:获取有序集合指定范围内的元素及其权重,按权重从小到大排序。
删除数据
ZREM key member1 member2 ...:从有序集合中删除一个或多个元素。

这张图片展示了 Redis 中不同数据类型的示例,包括字符串、哈希、列表、集合和有序集合,有助于更好地理解这些数据类型及其应用场景。