前一段时间,偶然的发现,有时候redis里面的数据莫名其妙的全部被清除掉了,刚开始总是以为是redis哪里配置的有问题,可能配置的有定时清空数据库的机制吧,但是找了一圈没有发现redis有类似的配置。随后开始研究redis.conf配置文件,首先将redis的log级别提升到最高,也就是debug的级别,
debug的打印信息如下:
[16279] 08 Dec 17:39:09.340 - DB 0: 70 keys (0 volatile) in 128 slots HT.
[16279] 08 Dec 17:39:09.340 - 0 clients connected (0 slaves), 829448 bytes in use
[16279] 08 Dec 17:39:13.047 * 10 changes in 300 seconds. Saving...
[16279] 08 Dec 17:39:13.047 * Background saving started by pid 16324
[16324] 08 Dec 17:39:13.070 * DB saved on disk
[16324] 08 Dec 17:39:13.071 * RDB: 0 MB of memory used by copy-on-write
[16279] 08 Dec 17:39:13.147 * Background saving terminated with success
[16279] 08 Dec 17:39:14.349 - DB 0: 70 keys (0 volatile) in 128 slots HT.
会将当前连接的客户端个数,你使用的数据库,当前存储的key个数,设置过期的key个数(0 volatile),快照的保存时间,状态,打印出来。当有客户端连接,会将客户端的ip打印
[16279] 08 Dec 17:40:05.187 - Accepted 123.57.41.84:44459
过了大概两天左右,又发现数据被清除了,这时在看看redis的log
[16279] 10 Dec 07:05:39.105 - DB 0: 78 keys (0 volatile) in 128 slots HT.
[16279] 10 Dec 07:05:39.105 - 0 clients connected (0 slaves), 856544 bytes in use
[16279] 10 Dec 07:05:40.468 - Accepted 221.194.44.175:34038
[16279] 10 Dec 07:05:40.508 * DB saved on disk
[16279] 10 Dec 07:05:40.530 - Client closed connection
[16279] 10 Dec 07:05:40.565 - Accepted 221.194.44.175:34041
[16279] 10 Dec 07:05:40.584 - Accepted 221.194.44.175:34042
[16279] 10 Dec 07:05:40.627 * DB saved on disk
[16279] 10 Dec 07:05:40.627 - Client closed connection
[16279] 10 Dec 07:05:40.627 - Accepted 221.194.44.175:34043
[16279] 10 Dec 07:05:40.645 - Client closed connection
[16279] 10 Dec 07:05:40.660 - Client closed connection
[16279] 10 Dec 07:05:40.681 - Accepted 221.194.44.175:34045
[16279] 10 Dec 07:05:40.705 - Client closed connection
[16279] 10 Dec 07:05:40.722 - Accepted 221.194.44.175:34047
[16279] 10 Dec 07:05:40.736 - Client closed connection
[16279] 10 Dec 07:05:44.136 - DB 0: 1 keys (0 volatile) in 4 slots HT.
[16279] 10 Dec 07:05:44.136 - 0 clients connected (0 slaves), 755920 bytes in use