国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

Redis (六 深入了解redis內(nèi)核)

2019-11-14 10:50:15
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

### 內(nèi)存淘汰

Redis內(nèi)存不足時(shí),有兩種處理方式:

(1)啟用虛擬內(nèi)存:將vm-enabled設(shè)置為yes

(2)啟用內(nèi)存淘汰:將maxmemory設(shè)置為一個(gè)大于0的整數(shù)

redis的使用內(nèi)存大于最大分配可用內(nèi)存時(shí),開始進(jìn)行淘汰,memcache只有LRU算法,redis有

1 隨機(jī)淘汰:從數(shù)據(jù)庫(kù)隨機(jī)刪除一個(gè)key

2 LRU算法:刪除一個(gè)最近最少訪問(wèn)的key

3 TTL淘汰:刪除最快過(guò)期的key

### 對(duì)象引用計(jì)數(shù)器

為了防止一個(gè)客戶端調(diào)用get的同時(shí),另一個(gè)client調(diào)用del刪除key而導(dǎo)致的內(nèi)存端錯(cuò)誤,redis使用了內(nèi)存引用計(jì)數(shù)器:給對(duì)象添加一個(gè)引用計(jì)數(shù)器,有新的引用時(shí),計(jì)數(shù)+1 ,引用失效,計(jì)數(shù)器-1 ,引用計(jì)數(shù)為0時(shí),redis把key刪除,對(duì)象初始化時(shí),引用計(jì)數(shù)為1  get時(shí),引用+1  del時(shí),引用-1 

eg:實(shí)例化refcount=1  

           get refcount=2  

           del  refcount=1  

          get結(jié)束 refcount=1,此時(shí)可以被刪除

### 自動(dòng)關(guān)閉超時(shí)連接

server.idletime是設(shè)置的timeout的時(shí)間,timeout=0時(shí),自動(dòng)關(guān)閉不會(huì)觸發(fā)

當(dāng)連接建立,卻不做任何操作時(shí),超過(guò)timeout會(huì)自動(dòng)斷開連接,當(dāng)使用連接池時(shí),不用配置timeout的時(shí)間,否則連接池里的連接會(huì)因超時(shí)而斷開

### redis清除過(guò)期數(shù)據(jù)

redis為每個(gè)存儲(chǔ)的數(shù)據(jù)設(shè)置一個(gè)過(guò)期時(shí)間,超過(guò)這個(gè)時(shí)間,redis把過(guò)期數(shù)據(jù)刪除,redis刪除數(shù)據(jù)分兩個(gè)階段

(1)在定時(shí)器serverCron中進(jìn)行,每隔100ms執(zhí)行一次

        activeExpireCycle隨機(jī)獲取一些key,如果當(dāng)前時(shí)間>數(shù)據(jù)設(shè)置的過(guò)期時(shí)間,刪除key,如果這些key有25%的數(shù)據(jù)過(guò)期,清理過(guò)程會(huì)繼續(xù)進(jìn)行,以釋放更多的內(nèi)存

(2)在用戶get時(shí),如果key的expiretime<time(),刪除數(shù)據(jù)


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 荆州市| 乌鲁木齐县| 平顶山市| 太谷县| 二连浩特市| 洛隆县| 扶绥县| 长岭县| 葵青区| 武功县| 伊宁市| 赤壁市| 美姑县| 出国| 开阳县| 大足县| 丽江市| 福鼎市| 金乡县| 桑日县| 衢州市| 达州市| 孟州市| 嘉峪关市| 万年县| 尖扎县| 浪卡子县| 丽水市| 通化县| 潢川县| 明溪县| 赣榆县| 南通市| 平泉县| 清苑县| 南投市| 石台县| 驻马店市| 哈巴河县| 墨江| 墨江|