memcached和redis緩存

memcached  :LRU

支持高併發的原因:多路複用IO(消息通知模式)、多線程模式(CPU的核數)

分佈式方案:

# 普通hash分佈(取模)

# 一致性hash分佈(0-232環)


redis:

LRU: 從數據庫中刪除一個最近最少訪問的key

隨機淘汰算法:從數據庫中隨機刪除一個key

TTL淘汰算法:從數據庫中刪除一個最快過期的key


對象計數器:引用到計數器加1,引用失效-1,爲0刪除,可以避免併發時問題。


支持的類型:

String:

List:雙向鏈表(實現消息隊列,頭部取出,尾部放入)

Set:無序集合(投票,無重複)

Sorted Set:有序集合(頂貼次數排序)

Hash:哈希表,類似於數據庫表(存用戶信息)


事務處理


持久化:

#內存快照:存入二進制文件

#日誌追加


主從同步:master上禁止持久化,slave可以

步驟:slave主動連接master;slave發SYCN命令到master請求同步;master備份到rdb;master把rdb文件傳給slave;slave清空數據庫,把rdb導入。


虛擬內存:物理內存不足時。


清除數據:

#定時清除

#用戶獲取數據時

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章