当前位置: 首页 > 工具软件 > aredis > 使用案例 >

1.Redis常用命令

郑胡媚
2023-12-01

Redis常用命令

Redis键常见的命令

Redis 键命令用于管理 redis 的键。

  • 查询redis中所存储的所有键
keys *
  • 查询redis中以a开头的所有的键
keys a*
  • 删除redis中指定的键
del key
  • 判断是否存在某一个键
exists key
  • 给指定的键设置过期时间 单位 秒
expire key seconds
  • 给指定的键设置过期时间 单位 毫秒
pexpire key millseconds
  • 查看指定键对应的剩余存活时间 单位 秒
    • 返回 -1,代表键是永久有效 不会过期
    • 返回 -2,代表键不存在 或已过期
    • 返回 >0,代表剩余的存活时间
ttl key
  • 查看指定键对应的剩余存活时间 单位 毫秒
pttl key
  • 移除key上的过期时间,变为永久存活
persist key
  • 查看key对应值的类型
type key
  • 从redis中,随机获取一个key
randomkey
  • 修改键名为newKey
rename key newKey

String(字符串)常见的命令

  • 存储key值为value
set key value
  • 存储key的值为value,且设置过期时间为second秒
set key value ex [second]
setex key second value
  • 存储key的值为value,且设置过期时间为millsecond毫秒
set key value px [millsecond]
psetex key millsecond value
  • 键如果不存在,则添加到数据库,否则不做任何处理
set key value nx
  • 当键存在的时候,修改key对应的值为value,键不存在,则不做任何处理
set key value xx
  • 获取key对应的值
get key
  • 修改key的值为value,并返回原来key对应的value值
getset key value
  • 获取key对应的value值的长度
strlen key
  • 将key对应的value值进行修改,自动+1(要求值必须是一个数字格式的字符串)
incr key
  • 将key对应的value进行修改,每次自动加increment
incrby key [increment]
  • 将key对应的value值进行修改,自动 -1
decr key
  • 将key对应的value进行修改,每次自动减increment
decrby key[decrement]

hash(哈希)常见的命令

Redis hash 是一个 string 类型的 field(字段) 和 value(值) 的映射表,hash 特别适合用于存储对象

存储的键对应的值是一个字典(map)

Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。

  • 将field和value键值对的数据作为值,key为键存储到redis中
hset key field value
  • 获取key对应字典中的field键的值
hget key field
  • 获取key对应的字典(map)
hgetall key
  • 获取key对应字典中的所有的键
hkeys key
  • 获取key对应字典中的所有的值
hvals key
  • 删除指定的键 键可以同时删除多个 多个用空格分隔
hdel key field
  • 查看key对应的字典中,是否包含field键
hexists key field
  • 获取key对应字典的长度(按键值对计算)
hlen key
  • 同时将多个 field-value (域-值)对设置到哈希表 key 中
hmset key field value [field value...]
  • 获取所有给定字段的值
hmget key field [field...]
  • 为哈希表 key 中的指定字段的整数值加上增量 increment
hincrby key field increment

List(列表)常见的命令

Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)

一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。

  • 将多个value添加到键为key的redis中,r(right)代表添加到尾部
rpush key value [value...]
  • 将多个value添加到列表的头部
lpush key value [value...]
  • 查询列表中的元素 -1代表查询到最后一个数据
lrange key start end
  • 删除列表中尾部元素数据
rpop key
  • 删除列表中头部元素数据
lpop key
  • 修改列表中指定索引位置的值
lset key index value
  • 获取列表中指定索引位置的数据
lindex key index
  • 获取列表的长度
llen key
  • 在pivot元素 前/后插入value元素
linsert key before/after pivot value
  • 删除列表中的value,并设置删除的个数
    • count > 0,从列表头部删除指定个数的value元素
    • count = 0,删除列表中所有value元素
    • count < 0,从列表尾部删除指定个数的value元素
lrem key count value

Set(集合)常见命令

Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。

集合对象的编码可以是 intset 或者 hashtable。

Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。

集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。

  • 将成员添加到指定的集合中
sadd key member [member...]
  • 查看集合中所有的成员
smembers key
  • 删除集合中指定的成员
srem key member
  • 获取集合中的成员数量
scard key
  • 判断集合中是否有某一个成员
sismember key member
  • 将key1和key2进行合并(求并集)
sunion key1 key2
  • 求交集(共同的部分)
sinter key1 key2
  • 求差集(分主谓)
sdiff key1 key2
  • 随机返回count 个集合中的成员
srandmember key count

ZSet(有序集合)常见的命令

Redis 有序集合和集合一样也是 string 类型元素的集合,且不允许重复的成员。

不同的是每个元素都会关联一个 double 类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序。

有序集合的成员是唯一的,但分数(score)却可以重复。

集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。

  • 添加成员,并设置分数(score实现有序)
zadd key score member [score member...]
  • 查看指定区间的成员,按照score升序排列
zrange key start end [withscores]
  • 查看指定区间的成员,按照score降序排列
zrevrange key start end [withscores]
  • 查看member成员在有序集合中的 升序所在的索引位置
zrank key member
  • 查看member的排名,从0开始
zrevrank key member
  • 统计有序集合的成员个数
zcard key
  • 查看min~max分数间的成员数量
zcount key min max
  • 查看min~max分数间的成员
zrangebyscore key min max
  • 查询min~max分数间的成员,按照score降序排列
zrevrangebyscore key max min
  • 删除指定的成员
zrem key member
  • 删除min~max之间的成员
zremrangebyscore key min max
  • 根据排名删除成员
zremrangebyrank key start stop
  • 查看某个成员对应的分数
zscore key member
  • 给某一个集合中的成员的成绩进行自动increment
zincrby key <increment> member

服务器相关命令

  • 负责将内存中的数据 写入到磁盘(同步)
save
  • 负责将内存中的数据写入到磁盘 以异步的形式写入数据
bgsave
  • 清空当前数据库所有存储的数据
flushdb
  • 清空redis所有数据库下的所有数据
flushall
  • 获取redis服务器的一些信息
info
  • 查看连接redis数据库的客户端信息
client list
  • 将当前redis服务器连接到指定的远程redis作为slave主机(已过时)
slaveof host port
  • 高版本替代slaveof host port
replicaof host port

参考文档

https://www.runoob.com/redis/redis-intro.html

 类似资料: