11.5 redis持久化
1、持久化:
(1)redis是一个内存数据库,当redis服务器重启,或者电脑重启后,数据就会丢失,我们可以将redis内存中的数据持久化保存到硬盘的文件中。
重启后,内存会自动加载文件中的数据,恢复数据库中的数据。
(2)redis持久化机制:
2.1、RDB:默认方式,不需要进行配置,默认使用这种机制
在一定的间隔时间中,检测key的变化情况,然后去持久化数据。
1、编辑 redis.windows.conf文件
# after 900 sec (15 min) if at least 1 key changed(在15分钟之内,只要有一个key发生改变,就持久化一次)
save 900 1
# after 300 sec (5 min) if at least 10 keys changed
save 300 10
# after 60 sec if at least 10000 keys changed
save 60 10000
2、
(1)先修改使其save 10 5
(2)在cmd中打开,进入到redis的文件夹,执行redis-server.exe redis.windows.conf(两个文件夹名之间有空格)
.C:\Users\lenovo>D:
D:\redis-2.8.9>redis-server.exe redis.windows.conf
(3)直接双击打开客户端,输入五个键值对,在redis文件夹中会生成一个文件夹,此时成功。
关闭服务器和客户端,分别双击打开,get 一下之前存的发现还有。
2.2、AOF:日志记录的方式(关系型数据库就是以这种方式的),可以记录每一条命令的操作,可以每一次命令操作后持久化数据。(每操作一次就更新一次数据库文件,因此对性能的影响较大)
1、修改配置文件redis.windows.conf
找到appendonly no,将其改为appendonly yes,因为AOF方式默认是关闭的
三个取值:
# appendfsync always //每一次操作都进行一次持久化
appendfsync everysec //每隔一秒进行一次持久化
# appendfsync no //不进行持久化
2.与上一个步骤一样,
在cmd中打开,进入到redis的文件夹,执行redis-server.exe redis.windows.conf(两个文件夹名之间有空格)
.C:\Users\lenovo>D:
D:\redis-2.8.9>redis-server.exe redis.windows.conf
此时会生成一个appendonly.aof文件
3、直接双击打开客户端,输入一个键值对。
关闭服务器和客户端。
注:此时服务器还是在cmd中打开还用redis-server.exe redis.windows.conf。否则客户端不会查到任何数据。