redis使用RDB文件恢复数据

  1. 设置存盘间隔为120秒且10个key改变数据自动存盘
  2. 使用RDB文件恢复数据

|----------------|----------|
| IP地址 | 主机名 |
| 192.168.10.170 | redis170 |

bash 复制代码
[root@redis170 ~]# yum install -y redis
[root@redis170 ~]# systemctl start redis

步骤一:设置存盘间隔为120秒且10个key改变自动存盘

bash 复制代码
[root@redis170 ~]# vim /etc/redis.conf 
save 900 1
save 300 10
save 60 10000
save 120 10
清空数据库目录
[root@redis70 ~]# rm -rf /var/lib/redis/*	
[root@redis170 ~]# systemctl restart redis 启动服务( 按新的存盘频率运行)

在服务启动后,要在2分钟内存储大于等10个变量

[root@redis170 ~]# redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> mset a 1 b 2 c 3 d 4 
OK
127.0.0.1:6379> mset   x 1 y 2  z 3 k 6  i 7  z 9   f 22  zz 99  cc  66
OK
127.0.0.1:6379> exit
[root@redis170 ~]# ls /var/lib/redis/
dump.rdb

步骤二:使用RDB文件恢复数据

bash 复制代码
1)拷贝 dump.rdb 文件就是对数据的备份
[root@redis170 ~]# cp /var/lib/redis/dump.rdb  /opt
[root@redis170 ~]# ls /opt/*.rdb
/opt/dump.rdb
2)把备份的 dump.rdb 文件 再次拷贝回数据库目录就是恢复
redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> flushall
OK
127.0.0.1:6379> keys *
(empty list or set)
3)使用备份的dump.rdb文件恢复

第1步 停止内存没有数据的redis服务

第2步 使用有数据的dump.rdb文件覆盖没有数据dump.rdb文件

第3步 修改文件的所有者和所属组用户为redis

第4步 启动redis服务 并连接服务查看数据[root@redis170 ~]# systemctl stop redis
[root@redis170 ~]# cp /opt/dump.rdb /var/lib/redis/
cp:是否覆盖'/var/lib/redis/dump.rdb'? y
[root@redis170 ~]# chown -R redis.redis /var/lib/redis/dump.rdb 
[root@redis170 ~]# systemctl restart redis
[root@redis170 ~]# redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> keys *
 1) "f"
 2) "z"
 3) "x"
 4) "zz"
 5) "y"
 6) "d"
 7) "cc"
 8) "a"
 9) "b"
10) "c"
11) "k"
12) "i"
相关推荐
汪子熙2 小时前
HSQLDB 数据库锁获取失败深度解析
数据库·后端
VvUppppp3 小时前
Redis应用
redis
无色海5 小时前
mysql连接生命周期-连接阶段
数据库
无色海6 小时前
MySQL协议中的TLS实现
数据库
麓殇⊙7 小时前
redisson锁的可重入、可重试、超时续约原理详解
redis·分布式锁
jstart千语7 小时前
【Redisson】锁可重入原理
redis·分布式·redisson
weixin_418007607 小时前
SpringJPA统计数据库表行数及更新频率
数据库
2301_767233227 小时前
怎么优化MySQL中的索引
数据库·mysql
无色海7 小时前
MySQL 压缩数据包详解
数据库
海尔辛7 小时前
防御性安全:数字取证
数据库·安全·数字取证