我在node项目中使用了ioredis库来做session持久化,我用的express-session中间价,大家都知道这个中间件默认使用memorySotre,当我使用这个库的时候,后台修改一下代码保存,node服务就重启了,session也就丢失了,所以我后来用了redis,之后修改代码重启的时候,session不再丢失,我没有修改任何redis的默认配置文件,我就存了一个key,我的问题是为什么没有达到save的条件,按理说不会同步到磁盘,session还是存在内存当中的,但为什么服务重启,session数据还存在?
redis是数据存内存 然后刷硬盘,刷硬盘默认配置是三个触发条件。
save 900 1 //900秒内一条变动
save 300 10 // 300秒10条
save 60 10000 //10秒 10000 条
只要触发任意一个都会去刷硬盘
要是没有这些机制那不是redis一直会丢数据么。