美文网首页
8. 深入操作(固定集合)

8. 深入操作(固定集合)

作者: 简人CC | 来源:发表于2017-09-26 21:28 被阅读0次

    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": "北京"})

    此时最早保留的数据已经消失了.实际上这种操作跟缓存机制是非常相似的.例如,在百度上经常会出现一些搜索的关键词(热门),这些词都是会被不断替换的。

    相关文章

      网友评论

          本文标题:8. 深入操作(固定集合)

          本文链接:https://www.haomeiwen.com/subject/xdpeextx.html