原因是默认的保存RDB的持久化方式,解决方式有一下两种:
关闭redis服务的时候手动触发RDB持久化,命令有两种:
- save
该命令会阻塞当前Redis服务器,执行save命令期间,Redis不能处理其他命令,直到RDB过程完成为止。
显然该命令对于内存比较大的实例会造成长时间阻塞,这是致命的缺陷,为了解决此问题,Redis提供了第二种方式。
- bgsave
执行该命令时,Redis会在后台异步进行快照操作,快照同时还可以响应客户端请求。具体操作是Redis进程执行fork操作创建子进程,RDB持久化过程由子进程负责,完成后自动结束。阻塞只发生在fork阶段,一般时间很短。
开启AOF持久化功能,修改redis.windows.conf、redis.windows-service.conf,将appendonly修改为yes,重启服务
- 修改redis.windows.conf文件,通过启动服务生效;
- 修改redis.windows-service.conf文件,需要在redis的文件夹下在命令行中使用redis-server.exe redis.windows.conf 启动redis才有效