redis安装
目录规划:
### redis 下载目录 /data/soft/[ ### redis 安装目录 /opt/redis_cluster/redis_{PORT}/{conf, logs, pid} ### redis 数据目录 /data/redis_cluster/redis_{PORT}/redis_{PORT}.rdb ### redis 运维脚本 /root/scripts/redis_shell.sh
安装命令:
编辑 hosts 文件 神料料 [root@db01 ~]# tail -3 /etc/hosts 10.0.0.51 db01 10.0.0.52 db02 10.0.0.53 db0s mkdir -p /data/soft mkdir -p/data/redis_cluster/redis_6379 mkdir -p /opt/redis_cluster/redis_6379/{conf, pid, logs) cd /data/soft/ wget http://dowload.redis.io/releases/redis-3.2.9.tar.gz tar -zxf redis-3.2.9.tar.gz -C /opt/redis_cluster/ In -s opt/redis_cluster/redis-3.2.9/ /opt/redis_cluster/redis cd /opt/redis_cluster/redis make && make install
配置文件说明
###以守护进程模式启动 daemonize yes ###绑定的主机地址 bind 10.0.0.51 127.0.0.1 ###监听端口 port 6379 ### pid 文件和 1og 文件的保存地址 pidfile /opt/redis_cluster/redis_6379/pid/redis_6879.pid logfile /opt/redis_cluster/redis_6379/logs/redis_6379.log ###设置数据库的数量,默认数据库为 0 databases 16 ###指定本地持久化文件的文件名,默认是 dump.rdb dbfilename redis_6379.rdb ### 本地数据库的目录 dir /data/redis_cluster/redis_6379
启动和关闭
###启动 [root@db01 ~]# redis-server /opt/redis_cluster/redis_6379/conf/redis_6379.conf ### 关闭 # redis-cli -h db0l shutdown
redis持久化
RDB 持久化优缺点
可以在指定的时间间隔内生成数据集的 时间点快照(point-in-time snapshot)。
优点:速度快,适合于用做备份,主从复制也是基于 RDB持久化功能实现的。
缺点:会有数据丢失
rdb 持久化核心配置参数:
vim /data/6379/redis.conf dir /data/6379 dbfilename dump.rdb save 900 1 #900秒(15分钟)内有1个更改 save 300 10 #300秒(5分钟)内有10个更改 save 60 10000 # 60秒内有 10000个更改
AOF持久化(append-only log file)优缺点
记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。AOF 文件中的命令全部以 Redis 协议的格式来保存,新命令会被追加到文件的末尾。
优点:可以最大程度保证数据不丢
缺点:日志记录量级比较大
AOF持久化配置
appendonly yes #是否打开 aof 日志功能
appendfsync always #每1个命令,都立即同步到 aof
appendfsync everysec #每秒写1次
appendfsync no #写入工作交给操作系统,由操作系统判断缓冲区大小,统一写入到 aof.
(Redis)持久化方式有哪些?有什么区别?
rdb:基于快照的持久化,速度更快,一般用作备份,主从复制也是依赖于rib持久化功能
aof:以追加的方式记录redis操作日志的文件。可以最大程度的保证redis数据安全,类似于mysql的二进制日志
隐藏条件:
1.如果同时有AOF和RDB存在,重启的时候,载入的是AOF文件
2.shutdown
- bgsave
- shutdown
redis安全认证
redis默认开启了保护模式,只允许本地回环地址登录并访问数据库 禁止protected-mode protected-mode yes/no(保护模式,是否只允许本地访问) (1)Bind :指定 IP 进行监听 [root@db01 ~]# vim /opt/redis_cluster/redis_6379/conf/redis_6379.conf bind 10.0.0.51 127.0.0.1 (2)增加requirepass {password} [root@db01 ]# vim /opt/redis_cluster/redis_6379/conf/redis_6379. conf requirepass 123456 验证方法一: [root@db01~]#redis-cli -a 123456 127.0.0.1:6379> set k1 v1 OK 验证方法二: [root@db01~]#redis-cli 127.0.0.1:6379> sauth 123456 ok
主从复制:
- 1.从库向主库发起同步请求
- 2.主库接收到从库的同步请求
- 3.主库开始bgsave生成rdb文件
- 4.主库生成完之后,保存到磁盘成功
- 5.主库将RDB文件发送给从库
- 6.从库接收主库的RDB文件:
- 7.从库清空自己所有的数据
- 8.从库将接受的RDB文件载入到内存中
SLAVEOF 10.0.0.52 6379 绑定主从
SLAVEOF no one 解除主从
模拟的场景:
- 1.备份了数据
- 2.但是主库不小心同步了空的从库
- 3.主库恢复数据
模拟操作失误:
模拟恢复
模拟主库故障
本文来自博客园,作者:孙龙-程序员,转载请注明原文链接:https://www.cnblogs.com/sunlong88/p/18341995
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
2022-08-04 linux磁盘分区 fdisk parted gdisk