8.1 固定集合
所谓的固定集合指的是规定集合大小,如果要保存的内容已经超过了集合的长度,那么会采用LRU的算法(最近最少使用原则)将最早的数据移出,从而保存新的数据。
默认情况下一个集合可以使用createCollection()函数创建,或者使用增加数据后创建,但是如果要想使用固定集合,就必须明确创建一个空集合
范例: 创建一个空集合(固定集合)
db.createCollection("deps",{"capped": true, "size": 1024, "max': 5})
其中”capped: true"表示一个固定集合,而"size: 1024"指的是集合所占的空间容量(字节)。“max:5”最多只能够有五条记录。
范例: 向集合里面保存5条数据
db.dept.insert({"deptno": 10, "dname": "财务部 -A", "loc": "北京"})
db.dept.insert({"deptno": 10, "dname": "财务部 -B", "loc": "北京"})
db.dept.insert({"deptno": 10, "dname": "财务部 -C", "loc": "北京"})
db.dept.insert({"deptno": 10, "dname": "财务部 -D", "loc": "北京"})
db.dept.insert({"deptno": 10, "dname": "财务部 -E", "loc": "北京"})
此时已经达到了集合的上限,那么继续保存新的内容
db.dept.insert({"deptno": 11, "dname": "财务部 -E", "loc": "北京"})
此时最早保留的数据已经消失了.实际上这种操作跟缓存机制是非常相似的.例如,在百度上经常会出现一些搜索的关键词(热门),这些词都是会被不断替换的。