Mongodb学习笔记(二)Capped Collection固定集合

一、Capped Collection固定集合

    简单介绍

        capped collections是性能出色的有着固定大小的集合(定容集合),以LRU(Least Recently Used最近最少使用)规则和插入顺序进行 age-out(老化移出)处理,自动维护集合中对象的插入顺序,在创 建时要预先指定大小。如果空间用完,新添加的对象将会取代集合中最旧的对象。

    功能特点 

        可以插入及更新,但更新不能超出 collection 的大小,否则更新失败。不允许删除,但是可 以调用 drop() 删除集合中的所有行,但是 drop 后需要显式地重建集合。在 32 位机上,一 个capped collection的最大值约为482.5M,64 位上只受系统文件大小的限制。

    1、创建固定集合

        createCollection("my_collection",{capped:true,size:10000})

            创建一个名为“my_collection”的固定集合,大小为10000字节。还可以限定文档个数加上Max:100属性。

            注意:指定文档上限,必须制定大小。文档限制是在容量没满进行淘汰,要是满了,就根据容量限制来淘汰。

    2、转换集合

        db.runCommand({convertTocapped:"text",size:10000});

            把text普通集合转换为固定集合,大小为10000字节

    3、自然排序---$natural(默认顺序是按照插入顺序返回的)

        db.my_collection.find().sort({"$natural":1})    //1标示默认顺序,-1则相反

二、GridFS

    简介:

      GridFs是一种在MongoDB中存储大二进制文件的机制,使用GridFs的原因有以下几种:

        储存巨大的文件,比如视频、高清图片等。

        利用GridFs可以加化需求。

        GridFs会直接利用已经建立的复制或分片机制,故障恢复和扩展都很容易。

        GridFs可以避免用户上传的文件系统出现问题。

        GridFs不产生磁盘碎片。

      GridFs使用两个表来存储数据:

        files  包含元数据对象

        chunks  包含其他一些相关信息的二进制快

        为了使多个GridFs命名为一个单一的数据库,文件和块都有一个前缀,默认情况下,前缀是fs,所以任何默认的GridFs存储将包括命名空间fs.files和fs.chunks.

        各种第三方语言可以更改其前缀。

    1、使用GridFs mongofiles

        mongodiles是从命令行操作GridFs的一种工具

        三个命令:

          put(存储)    ./mongofiles put 文件

          get(取得)    ./mongofiles get 文件

          list(列表)    ./mongofiles list

          delete(删除)  

posted @ 2017-12-02 16:59  淺淺舊時光  阅读(266)  评论(0编辑  收藏  举报