Redis命令语法大全
发布日期:2021-05-10 14:35:06 浏览次数:24 分类:精选文章

本文共 3645 字,大约阅读时间需要 12 分钟。

Redis 命令大全

1. 基本操作

1.1 启动 Redis 服务器

./redis-server

注意:在生产环境中建议使用启动脚本,并在后台运行

1.2 关闭 Redis 服务器

./redis-cli shutdown

1.3 连接 Redis 客户端

# 在终端运行以下命令redis-cli

示例:连接本地 Redis 服务器(默认端口 6379)

2. Redis 键(Key)

2.1 查看所有键

keys *

2.2 判断键是否存在

exists key_name

2.3 设置键的过期时间

expire key_name seconds

2.4 查看键的剩余过期时间

ttl key_name
  • 结果为 -1:键未过期
  • 结果为 -2:键不存在
  • 正数:剩余时间(秒)

2.5 查看键类型

type key_name

2.6 删除键

del key_name

2.7 设置键值

set key_name value

2.8 获取键值

get key_name

2.9 批量获取多个键的值

mget key1 key2 ... keyN

2.10 增加/减少键中的数字值

incr key_namedecr key_name

2.11 追加键值

append key_name value

2.12 查看键的长度

strlen key_name

2.13 截取字符串

getrange key_name start_index end_index

2.14 替换字符串

setrange key_name start_index value

3. HashSet(Hash)

3.1 设置 Hash 键-值对

hset hash_name key_name value

3.2 获取 Hash 中某个键的值

hget hash_name key_name

3.3 批量设置多个 Hash 键-值对

hmset hash_name key1 value1 key2 value2 ... keyN valueN

3.4 批量获取多个 Hash 键的值

hmget hash_name key1 key2 ... keyN

3.5 获取所有 Hash 键

hkeys hash_name

3.6 获取所有 Hash 的值

hvals hash_name

3.7 获取 Hash 中存在的键

hexists hash_name key_name

3.8 删除 Hash 中的键

hdel hash_name key1 key2 ... keyN

4. List(列表)

4.1 左推入元素

lpush list_name value1 value2 ... valueN

4.2 右推入元素

rpush list_name value1 value2 ... valueN

4.3获取列表中的元素

lrange list_name start_index end_index

4.4 获取列表中指定位置的元素

lindex list_name index

4.5 获取列表的长度

llen list_name

4.6 移除列表中的元素

lrem list_name count
  • 参数 count 可以为正数(从左到右),负数(从右到左),或 0 表示清空列表

4.7 修改列表中指定位置的元素

lset list_name index value

4.8 插入元素到列表的前后

linsert list_name index value_before value_after

5. Set(集合)

5.1 添加元素到集合

sadd set_name value1 value2 ... valueN

5.2 获取集合中的所有元素

smembers set_name

5.3 判断元素是否存在

sismember set_name value

5.4 获取集合的元素个数

scard set_name

5.5 删除集合中的元素

srem set_name value1 value2 ... valueN

5.6 随机获取集合中的一个元素

srandmember set_name [count]

5.7 随机删除集合中的一个元素

spop set_name [count]

6. 有序集合(Sorted Set)

6.1 添加元素并指定优先级

zadd set_name score value

6.2 获取有序集合中的元素

zrange set_name start_rank end_rank
  • [start_rank] 可以是负数表示倒序
  • [end_rank] 可以为 -1 表示倒数第二个元素

6.3 获取降序排列的元素

zrevrange set_name start_rank end_rank

6.4 删除有序集合中的元素

zrem set_name value1 value2 ... valueN

6.5 获取有序集合的元素个数

zcard set_name

6.6 获取介于两个得分的元素

zrangebyscore set_name min_score max_score [withscores] [limit start stop]

6.7 获取降序排列的元素在特定分数范围内

zrevrangebyscore set_name min_score max_score [withscores] [limit start stop]

6.8 获取介于两个得分的元素个数

zcount set_name min_score max_score

7. 事务操作

7.1 开启事务

multi

7.2 执行事务

exec

7.3 取消事务

discard

8. 容灾处理

8.1 将 Slave 提升为 Master

# 停止当前 Master./redis-cli shutdown#提升某个 Slave 为 Masterredis-cli -h 192.168.1.1 -p 6380slaveof no one

8.2 将 Slave 绑定到新的 Master

redis-cli -h 192.168.1.1 -p 6382 slaveof 192.168.1.1 6380

9. Sentinel 高可用

9.1 配置 Sentinel

# 配置文件修改例子port 26380sentinel monitor mymaster 192.168.1.1 6380 2

9.2 启动 Sentinel

./redis-sentinel sentinel.conf

9.3 检查 Sentinel 状态

info replication

10. Redis 安全设置

10.1 开启访问密码

requirepass your_password_here

10.2 访问有密码的 Redis

# 命令执行后使用 auth EidM@1wa2e-./redis-cli -a your_password

10.3 绑定 IP

bind 192.168.1.1

10.4 修改默认端口

port 6379

Redis 持久化配置

RDF 持久化

1.停止现有 Redis 服务

./redis-cli shutdown

2.备份 Redis.conf

cp redis.conf redis.bak.conf

AOF 持久化

1.停止 Redis 服务

./redis-cli shutdown

2.启用 AOF

遍历 redis.conf,修改 appendonly yes

Redis 主从复制

方式 1

# 编辑 Master 配置文件port 6380# Slave 配置文件添加 slaveof 127.0.0.1 6380

方式 2

# 启动时指定 Slave 参数./redis-server --slaveof 127.0.0.1 6380

Redis 容灾处理

临时故障恢复

# 停止当前 Master./redis-cli shutdown# 提升某个 Slave 为 Masterredis-cli -h 192.168.1.1 -p 6380 slaveof no one

详细恢复流程

# 单机故障恢复1. 停止 Master 服务2. 将 Slave 提升为 Master3. 将其他 Slave 绑定至新的 Master4. 检查 replicaizando 模式5. 启动 Master 服务

常用 Redis 命令总结

数据类型操作

  • del key
  • flushdb

Redis 管理

  • db size
  • select db

Redis 高级

  • debug
  • Monitor

Redis 可视化

推荐使用 Redisdesktop 轻松操作。

上一篇:Java面试官常问部分面试题(2021)
下一篇:Linux命令语法

发表评论

最新留言

表示我来过!
[***.240.166.169]2025年04月30日 21时54分47秒