赞
踩
linux环境下,使用brew下载,软件及其配置文件存放路径分别为
软件: /opt/homebrew/Cellar/redis/
但是配置文件存放在: /opt/homebrew/etc/redis.conf (***注意***)
点开这个配置文件,与window的redis.conf配置类相差不大,但是注意,比如它生成的dump.rdb appendonly.aof文件的存放路径要按照brew的来,
现在让我们开始着手吧!!!
修改更短的时间如20秒发生3次修改则进行一次保存到dump.rdb文件,如果不明显,可以改让它保存的更勤一些,如 save 10 1 等等
执行flushall,并查看dumb.rdb的文件大小,没有值时为88,并且执行如下操作,
- 127.0.0.1:6379[9]> flushall
- OK
- 127.0.0.1:6379[9]> select 0
- OK
- 127.0.0.1:6379> set k1 11
- OK
- 127.0.0.1:6379> set k2 22
- OK
- 127.0.0.1:6379> set k3 33
进行简单的操作,我们明显地感知到这个dump.rdb文件的增大
接下来,我们按顺序做如下的操作,拷贝该dump.rdb文件到同目录下,并且删除redis中的数据,然后关闭redis,
在把dump22.rdb(121字节)修改为dump.rdb文件,原来的那个rdb可以直接删除,反正到最后 /var/db/redis下只有一个dumb.rdb (121字节)重启redis,原来的数据又回来了
流程如上所示,父进程fork一个完全一样的子进程,进行IO,将数据持久化到dump.rdb中,但是,比如说,我们规定save 20 3 ,但是我可能只在这20的时间间隔里只有一次修改,然后在这个间隔里面突然,redis宕掉了,那最后这一次数据会没被保存到而丢失,存在这种可能。
开启aof ,默认不开启
他有三种追加同步的频率,默认每秒,就是每秒给你同步写的内容
和rdb持久化文件存放的位置有一个aof文件,就同步写入我们的写操作,
但是不记录读操作,比如
因而,如果你精确到always,每次都只有写,则aof直接追加,则不存在数据丢失,但是性能会差一些,而且一会追加,会占用比rdb更多的内存。
具体使用哪一种,看需要,如果只是做内存缓存,甚至都可以不用,但是,不建议单独只开aof,可能有bug.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。