mongoDB应用篇——固定集合和GridFS文件

来源:互联网 发布:php 二维数组重复替换 编辑:程序博客网 时间:2024/06/06 01:51


 本篇介绍mongoDB应用中常用的两个对象,固定集合和GridFS文件

一、Capped Collection固定集合

1、介绍

固定集合顾名思义,有着固定大小的collection集合,除了大小固定的特点之外,它与普通集合不同之处,还在于固定集合以LRU(Least Recently Used)最近最少使用原则进行数据存储,在固定的容量下,如果空间用完,将不常使用的数据移出集合,保证集合中的数据永远保持最新。

所以根据固定集合的特点,它的主要应用场景就是用于存储日志信息和充当缓存存取少量文档。

2、创建固定集合

固定集合的创建不像普通集合隐士创建(crud时直接传入参数名,若DB中无该集合则直接创建),固定集合的创建必须通过createCollection方法进行

Db.createCollection(“testImage”,{capped:true,size:10000})

如上,创建一个名为testImage,大小为10M的固定集合

3、查看集合状态

如何查看一个集合是否为固定集合

Db.testImage.stats();

或者Db.testImage.isCapped();

4、将普通集合转换成固定集合

Db.runCommand({convertTocapped:testImage,size:10000})

二、GridFS大文件管理

GridFS是MongoDB中用于存储大二进制文件的机制,例如用于存储视频、高清图片等,它的优越之处在于GridFS会直接利用已建立的分片机制,在数据存储时不会产生任何磁盘碎片。

GridFS通过两个表来存储数据,[.files]存储元数据对象,文件名基本属性,[.chunks]用于存储文件二进制信息、文件内容。上篇博客中将图片上传下载上就已经应用到GridFS文件简单介绍了分布式文件存储的特点,在此不再赘述,大家有兴趣可以查阅上一篇博客。

2、上传下载文件到GridFS

在MongoDB中,通过【get +文件名】下载GridFS 中的文件,【put+文件名】上传文件到GridFS,【delete +文件名】 删除GridFS中的文件。例如”:

./mongofiles put mongoTest.tar.gz

./mongofiles get mongoTest.tar.gz

./mongofiles delete  mongoTest.tar.gz

3、查看fs.files中的内容

db.fs.files.find()

 

除了通过增删改查语句了解MongoDB的面向集合、对象特性之外,在MongoDB实际应用中常用的对象如本文介绍的固定集合和GridFS文件,也需要我们先了解、再应用才能确定自己对MongoDB有点概念和自己的认识。

 

 

0 0
原创粉丝点击