8.1 固定集合
所謂的固定集合指的是規(guī)定集合大小,如果要保存的內(nèi)容已經(jīng)超過(guò)了集合的長(zhǎng)度,那么會(huì)采用LRU的算法(最近最少使用原則)將最早的數(shù)據(jù)移出嗡午,從而保存新的數(shù)據(jù)闷旧。
默認(rèn)情況下一個(gè)集合可以使用createCollection()函數(shù)創(chuàng)建磷蛹,或者使用增加數(shù)據(jù)后創(chuàng)建算撮,但是如果要想使用固定集合,就必須明確創(chuàng)建一個(gè)空集合
范例: 創(chuàng)建一個(gè)空集合(固定集合)
db.createCollection("deps",{"capped": true, "size": 1024, "max': 5})
其中”capped: true"表示一個(gè)固定集合亿柑,而"size: 1024"指的是集合所占的空間容量(字節(jié))帖烘。“max:5”最多只能夠有五條記錄橄杨。
范例: 向集合里面保存5條數(shù)據(jù)
db.dept.insert({"deptno": 10, "dname": "財(cái)務(wù)部 -A", "loc": "北京"})
db.dept.insert({"deptno": 10, "dname": "財(cái)務(wù)部 -B", "loc": "北京"})
db.dept.insert({"deptno": 10, "dname": "財(cái)務(wù)部 -C", "loc": "北京"})
db.dept.insert({"deptno": 10, "dname": "財(cái)務(wù)部 -D", "loc": "北京"})
db.dept.insert({"deptno": 10, "dname": "財(cái)務(wù)部 -E", "loc": "北京"})
此時(shí)已經(jīng)達(dá)到了集合的上限,那么繼續(xù)保存新的內(nèi)容
db.dept.insert({"deptno": 11, "dname": "財(cái)務(wù)部 -E", "loc": "北京"})
此時(shí)最早保留的數(shù)據(jù)已經(jīng)消失了.實(shí)際上這種操作跟緩存機(jī)制是非常相似的.例如秘症,在百度上經(jīng)常會(huì)出現(xiàn)一些搜索的關(guān)鍵詞(熱門(mén)),這些詞都是會(huì)被不斷替換的式矫。