学海无涯
go,go,go

redis的持久化

rdb:基于快照的持久化,速度更快,一般用作备份,主从复制也是依赖于rdb持久化功能
aof:以追加的方式记录redis操作日志的文件。可以最大程度的保证redis数据安全,类似于mysql的binlog
rdb速度更快,aof安全性更高

save手工保存配置的数据建值对
启动redis
[root@web04 src]# redis-server /nosql/6379/redis.conf 
登陆redis
[root@web04 src]# redis-cli -a qwe123
设置数据
127.0.0.1:6379> set a test
OK
获取数据
127.0.0.1:6379> get a
"test"
关闭redis
127.0.0.1:6379> shutdown
not connected> exit
在此启动redis登陆
[root@web04 src]# redis-server /nosql/6379/redis.conf 
[root@web04 src]# redis-cli -a qwe123
再次检查是没有a的key
127.0.0.1:6379> get a
(nil)
默认redis是不会把数据做持久化,set设置的缓存数据重启就失效
可以使用save手工保存配置的数据

使用save保存测试
127.0.0.1:6379> set a test
OK
127.0.0.1:6379> get a
"test"
保存数据
127.0.0.1:6379> save
OK
关闭redis
127.0.0.1:6379> shutdown
not connected> exit
再次启动
[root@web04 src]# redis-server /nosql/6379/redis.conf 
[root@web04 src]# redis-cli -a qwe123
127.0.0.1:6379> get a
"test"
数据被成功的保存
edis持久化(内存数据保存到磁盘)
RDB 持久化基于快照的持久化,
	可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot)。
    优点:速度快,适合于用做备份,主从复制也是基于RDB持久化功能实现的。
    缺点:会有数据丢失
redis一重启缓存的数据就会丢失,要在配置文件开启持久化。
save立即把内存的数据写入到磁盘上面,可以登陆redis手工进行保存

rdb持久化核心配置参数:

vim /nosql/6379/redis.conf
dir /nosql/6379
dbfilename dump.rdb
动作保存      时间         保存多少次数据到磁盘
save          900            1
save          300            10
save          60             10000

配置分别表示:
900秒(15分钟)内有1个更改,就做一次save保存数据到磁盘进行持久化
300秒(5分钟)内有10个更改,就做10次save保存数据到磁盘进行持久化
60秒内有10000个更改,进行持久化保存,就做 10000次save保存数据到磁盘进行持久化
设置的时间达到才会进行持久化,没达到就不会写入,如果满足多个条件,就进行多次的持久保存数据
    
持久化只记录set的操作,不记录get的获取数据的操作

测试
添加配置文件
cat >/nosql/6379/redis.conf<<'EOF'
daemonize yes
port 6379
logfile /var/log/redis.log
dir /nosql/6379
dbfilename dump.rdbRDB
requirepass qwe123
bind 192.168.2.115  127.0.0.1
save   900      1
save   300      10
save   60       10000
 EOF
重启redis
[root@web04 src]# redis-cli -a qwe123
127.0.0.1:6379> SHUTDOWN
not connected> quit

启动redis
[root@web04 src]# redis-server /nosql/6379/redis.conf 

配置数据
[root@web04 src]# redis-cli -a qwe123
127.0.0.1:6379> set a1 test1
OK
127.0.0.1:6379> set a2 test2
OK
127.0.0.1:6379> get a1
"test1"
127.0.0.1:6379> get a2
"test2"
关闭redis进行重启
127.0.0.1:6379> SHUTDOWN
not connected> quit

启动redis
[root@web04 src]# redis-server /nosql/6379/redis.conf 
检查数据是否保存成功
[root@web04 src]# redis-cli -a qwe123
127.0.0.1:6379> get a1
"test1"
127.0.0.1:6379> get a2
"test2"
成功保存数据


RDB配置基于快照的持久化,保存时间点的数据,对当前redis缓存在内存的数据进行快照存储到磁盘进行持久化
优点速度快,适合备份
缺点有数据会丢失,做的快照是当时那个时间点的,不是实时的,很容易造成内存的穿透
rdb只保存set的name最后一次的值。
edis持久化(内存数据保存到磁盘)
RDB 持久化基于快照的持久化,
	可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot)。
    优点:速度快,适合于用做备份,主从复制也是基于RDB持久化功能实现的。
    缺点:会有数据丢失
redis一重启缓存的数据就会丢失,要在配置文件开启持久化。
save立即把内存的数据写入到磁盘上面,可以登陆redis手工进行保存

rdb持久化核心配置参数:

vim /nosql/6379/redis.conf
dir /nosql/6379
dbfilename dump.rdb
动作保存      时间         保存多少次数据到磁盘
save          900            1
save          300            10
save          60             10000

配置分别表示:
900秒(15分钟)内有1个更改,就做一次save保存数据到磁盘进行持久化
300秒(5分钟)内有10个更改,就做10次save保存数据到磁盘进行持久化
60秒内有10000个更改,进行持久化保存,就做 10000次save保存数据到磁盘进行持久化
设置的时间达到才会进行持久化,没达到就不会写入,如果满足多个条件,就进行多次的持久保存数据
    
持久化只记录set的操作,不记录get的获取数据的操作

测试
添加配置文件
cat >/nosql/6379/redis.conf<<'EOF'
daemonize yes
port 6379
logfile /var/log/redis.log
dir /nosql/6379
dbfilename dump.rdbRDB
requirepass qwe123
bind 192.168.2.115  127.0.0.1
save   900      1
save   300      10
save   60       10000
 EOF
重启redis
[root@web04 src]# redis-cli -a qwe123
127.0.0.1:6379> SHUTDOWN
not connected> quit

启动redis
[root@web04 src]# redis-server /nosql/6379/redis.conf 

配置数据
[root@web04 src]# redis-cli -a qwe123
127.0.0.1:6379> set a1 test1
OK
127.0.0.1:6379> set a2 test2
OK
127.0.0.1:6379> get a1
"test1"
127.0.0.1:6379> get a2
"test2"
关闭redis进行重启
127.0.0.1:6379> SHUTDOWN
not connected> quit

启动redis
[root@web04 src]# redis-server /nosql/6379/redis.conf 
检查数据是否保存成功
[root@web04 src]# redis-cli -a qwe123
127.0.0.1:6379> get a1
"test1"
127.0.0.1:6379> get a2
"test2"
成功保存数据


RDB配置基于快照的持久化,保存时间点的数据,对当前redis缓存在内存的数据进行快照存储到磁盘进行持久化
优点速度快,适合备份
缺点有数据会丢失,做的快照是当时那个时间点的,不是实时的,很容易造成内存的穿透
rdb只保存set的name最后一次的值。
赞(0) 打赏
未经允许不得转载:YYQ运维技术博客_运维的工作学习之路 » redis的持久化
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

运维devops

联系我们关于本博客

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏