def main(): init_server() while server_is_not_shutdown(): time = aeSearchNearestTimer() beforeSleep() aeApiPoll(time) processFileEvents() processTimeEvents() clean_server()
1.bgsave執行時再次執行bgsave如何處理?linux
直接返回,返回信息會通知正在執行.redis
若是在aof rewrite時執行bgsave,會直接返回不能執行.分佈式
看代碼此處應該有bgsave schedule命令,若是此時在執行aof rewrite,則會在aof結束後在serverCron中執行。函數
代碼以下 測試
2.aof rewrite正在執行時再次發送bgrewriteaof會如何處理?spa
直接返回,返回信息通知正在執行rest
若是此時在執行rdbsave,則會在serverCron中在rdbsave結束以後執行aof rewrite.code
代碼以下:server
3.bgsave時若是master還在執行寫入,因爲linux COW機制,此時會給子進程拷貝一份數據,致使雙倍內存。進程
待在測試環境驗證是否會出現
4.client端發送的命令可否在server端保證順序?
5.爲何redis自己支持分佈式生產環境還在使用codis?