1.Redis基于記憶體,大部分指令處理隻是純粹的記憶體操作
2.Redis是單程序的服務,避免了不必要的上下文切換,同時不存在加鎖/釋放鎖 等同步操作
3.Redis 使用多路I/O 複用模型,select ,epoll, poll 可以高效處理大量并發連接配接
4.Redis中的資料結構,增删改查比較簡單
Redis 5.0 中,flag占據一個位元組,低3位表示type,高5位表示長度 ,能表示的長度區間為0 到 31
長度大于31的字元串,len和free單獨存放
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiQDOxEzX3xCZlhXam9VbsUmepNXZy9CXwJWZ3xCdh1mcvZ2Lc1zaHRGcWdUYuVzVa9GczoVdG1mWfVGc5RHLwIzX39GZhh2csATMflHLwEzX4xSZz91ZsAzMfRHLGZkRGZkRfJ3bs92YskmNhVTYykVNQJVMRhXVEF1X0hXZ0xCNx8VZ6l2cssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL1YWN1QmM0AzY0Y2N5UWNzITN5IWZzIjMwUmZykTOwcTM5ADZ2AzLcFTMxIDMy8CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
save:由于redis是單線程的,save會造成阻塞,在rdb檔案建立完成期間不處理任何請求。
bgsave:會建立子線程,完成rdb檔案的建立工作,主線程正常執行。
在執行bgsave期間,主線程會拒絕save和bgsave指令;bgrewriteaof指令會延遲到bgsave指令結束之後執行