# redis 的常用命令

# 通用命令

命令 描述
keys 查看符合模板的所有 key : keys * keys a*
del 删除指定 key
exists 判断 key 是否存在
expire 给 key 设置一个有效期
ttl 查看 key 有效期
flushdb 清除当前数据库
flushall 清除所有数据库

# string 命令

String 结构是将对象序列化为 JSON 字符串后存储

描述
set 添加或者修改已经存在的一个 String 类型的键值对
get 根据 key 获取 String 类型的 value
maset 批量添加多个 String 类型的键值对
mget 根据多个 key 获取多个 String 类型的 value
incr 让一个整型的 key 自增 1
incrby 让一个整型的 key 自增并指定步长,例如:incrby num 2 让 num 值自增
incrbyFloat 让一个浮点类型的数字自增并指定步长
setnx 添加一个 String 类型的键值对,前提是这个 key 不存在,否则不执行
setex 添加一个 String 类型的键值对,并且指定有效期

# Hash 类型

Hash 类型,也叫散列,其 value 是一个无序字典,类似于 Java 中的 HashMap 结构。

命令 说明
hdel 用于删除哈希表中一个或多个字段
hexists 用于判断哈希表中字段是否存在
hget 获取存储在哈希表中指定字段的值
hgetall 获取在哈希表中指定 key 的所有字段和值
hincrby 为存储在 key 中的哈希表指定字段做整数增量运算
hkeys 获取存储在 key 中的哈希表的所有字段
hlen 获取存储在 key 中的哈希表的字段数量
hset 用于设置存储在 key 中的哈希表字段的值
hvals 用于获取哈希表中的所有值

# List 类型

Redis 中的 List 类型与] ava 中的 Linkedlist 类似,可以看做是一个双向链表结构。既可以支持正向检索和也可以支持反向
检索。

命令 描述
blpop 移出并获取列表的第一个元素
brpop 移出并获取列表的最后一个元素
brpoplpush 从列表中弹出一个值,并将该值插入到另外一个列表中并返回它
lindex 通过索引获取列表中的元素
linsert 在列表的元素前或者后插入元素
llen 获取列表长度
lpop 移出并获取列表的第一个元素
lpush 将一个或多个值插入到列表头部
lpushx 将一个值插入到已存在的列表头部
lrange 获取列表指定范围内的元素
lrem 移除列表元素
lset 通过索引设置列表元素的值
ltrim 对一个列表进行修剪 (trim)
rpop 移除并获取列表最后一个元素
rpoplpush 移除列表的最后一个元素,并将该元素添加到另一个列表并返回
rpush 在列表中添加一个或多个值
rpushx 为已存在的列表添加值

# key 的结构

项目名:业务名:类型:id

user 相关的 key:qingyeling:user:1