鍍金池/ 問答/人工智能  PHP/ redis開啟rdb持久化為什么不能更新rdb文件?

redis開啟rdb持久化為什么不能更新rdb文件?

我是win7的系統(tǒng),成功安裝了redis,現(xiàn)在我在配置文件里配置了

save 900 1    
save 300 10    
save 60 10000 

按理說已經(jīng)開啟rdb的持久化,可是經(jīng)過set與get操作后,等了好幾個小時這個文件并沒有更新(之前以為要重啟電腦,發(fā)現(xiàn)重啟電腦還是這個現(xiàn)象),如果執(zhí)行save后就更新了,也就是要手動更新了,那這個持久化有什么意義??

經(jīng)過測試:1.去修改redis.conf文件把daemonize設置為yes

     2.不用開啟aof持久化
     3.啟動服務使用cmd命令redis-server.exe Redis.conf啟動,使用雙擊redis- 
       server.exe啟動服務不能達到效果

上述是自己測試出來的,可以正常持久化,感覺好奇怪,還要關閉aof????不理解
而且發(fā)現(xiàn)一個現(xiàn)象:關閉aof的時候,rdb文件的內(nèi)容和開啟aof的時候rdb文件里面的內(nèi)容是不一樣的,好像開啟aof的rdb內(nèi)容和沒有開啟aof的rdb文件是各有一個,但是文件路徑是一樣的

rdis如果rdb和aof同時開啟的話,是默認讀取aof文件的,所以再開啟aof之前應該先執(zhí)行一次bgrewriteaof,把當前的key,value保存起來,之后的操作再累加

回答
編輯回答
祈歡

應該是redis沒有啟動后臺運行,
去修改redis.conf文件把daemonize設置為yes,
然后重新啟動redis-server和redis.conf

2018年1月25日 02:41
編輯回答
乖乖噠

經(jīng)過測試:1.去修改redis.conf文件把daemonize設置為yes

     2.不用開啟aof持久化
     3.啟動服務使用cmd命令redis-server.exe Redis.conf啟動,使用雙擊redis- 
       server.exe啟動服務不能達到效果

上述是自己測試出來的,可以正常持久化,感覺好奇怪,還要關閉aof????不理解
而且發(fā)現(xiàn)一個現(xiàn)象:關閉aof的時候,rdb文件的內(nèi)容和開啟aof的時候rdb文件里面的內(nèi)容是不一樣的,好像開啟aof的rdb內(nèi)容和沒有開啟aof的rdb文件是各有一個,但是文件路徑是一樣的

2017年3月29日 03:42