redis运维相关(基本数据库命令)【十四】
-----------------------------运维相关-------------------------
redis持久化,两种方式
1、rdb快照方式
2、aof日志方式
----------rdb快照------------
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir /var/rdb/
-----------Aof的配置-----------
appendonly no # 是否打开 aof日志功能
appendfsync always #每一个命令都立即同步到aof,安全速度慢
appendfsync everysec
appendfsync no 写入工作交给操作系统,由操作系统判断缓冲区大小,统一写入到aof 同步频率低,速度快
no-appendfsync-on-rewrite yes 正在导出rdb快照的时候不要写aof
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
./bin/redis-benchmark -n 20000
---------主从复制----------------
Master配置
1:关闭rdb快照(备份工作交给slave)
2:可以开启aof
slave配置:
1、声明slave-of
2、某一个slave打开rdb快照功能
3、配置是否只读 slave-read-only
4、可选配置密码(内网可不必)
在主服务器配置中修改 requirepass 123456
客户端连上后需要 auth 123456才能访问
但是从服务器已经连不成功master
需要在从服务器配置上 masterauth 123456
cp redis.conf redis6380.conf
cp redis.conf redis6381.conf
pidfile /var/run/redis6380.pid
port 6380
dbfilename dump6380.rdb
dir /var/rdb/
注:每次slave断开后,再次连接master时,都要master全部dump出来rdb再aof,即同步的过程需要重新来一遍
所以要记住,多台slave不要一下都启动起来
-------------redis运维--------------
TIME 查看时间戳与微秒数
127.0.0.1:6379> time
1) "1423329581"
2) "398972"
dbsize 查看当前库中的key数量
bgrewriteaof 后台进程重写aof
bgsave 后台保存rdb快照
save 保存rdb快照
lastsave 上次保存时间
slaveof 设为slave服务器
flushall 清空所有db
flushdb 清空当前db
shutdown save|nosave 断开连接关闭服务器
slowlog显示慢查询
(多慢才算慢? slowlog-log-slower-than 10000)
存多少条? slowlog-max-len 128
查看慢日志 slowlog get
config get slowlog-log-slower-than
config set slowlog-log-slower-than 10
info 显示服务器信息
config get 获取配置信息
config set 设置配置信息
monitor 打开控制台
sync 主从同步
client list 客户端列表
client kill 关闭某个客户端
client setname 为客户端设置名字
client getname 获取客户端名字
-----
如果不小心flushall了
应该首先 shutdown nosave
然后编辑aof
重启
补充:scan 查看key
scan 可以替代 keys ccc* 来查看key, 如果key 过多的情况下,keys * 容易崩溃。scan 提供了分页功能
三个参数: 第一个是cursor 整数值,第二个是key 的正则模式,第三个是遍历的limit hint
例如:
127.0.0.1:6379> scan 0 match com* count 4 1) "0" 2) 1) "compant22" 2) "company" 3) "compant"
补充: redis 集群相关运维
CONFIG GET * # 获取配置信息 CONFIG GET appendonly # 获取具体的某个配置 主从:(需要手动连接到每个节点并查看其角色) INFO REPLICATION # 返回很多信息,包括节点的角色(role:master 或 role:replica),主节点的 IP 地址和端口(对于从节点而言),以及复制偏移量等。 分片: cluster info # 列出集群中的所有节点及其角色、以及分配的插槽信息。但请注意,这个命令只在 Redis 集群模式下有效。 cluster nodes #列出集群中所有节点的信息,包括节点的 ID、IP 地址、端口、状态、分配的插槽信息等 cluster slots # 显示集群中每个槽位(slot)的分配情况。Redis 集群使用 16384 个槽位来存储数据,每个节点负责一部分槽位。
cluster keyslot keyName 得到插槽值
# 查看key 对应的slot
slot计算方式:slot = crc16(key) mod 16384,java 代码: hutool 工具包
CRC16XModem crc16XModem = new CRC16XModem(); crc16XModem.update("task:dataQueue:summaryInfo:DEFAULT".getBytes()); System.out.println(crc16XModem.getValue() % 16384);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix