【赵渝强老师】MongoDB的In-Memory存储引擎

  MongoDB的In-Memory存储引擎将会把数据存储在内存中。除了少量的元数据和诊断日志以外,In-Memory存储引擎不会维护任何存储在硬盘上的数据,从而避免硬盘的读写操作,以减少数据查询的延迟,从而提高性能。

提示:虽然In-Memory存储引擎不会向文件系统写入数据,但是它任然需要使用--dbpath参数指定一个目录用于存储少量的元数据和诊断日志。通过指定参数--inMemorySizeGB可以设置MongoDB占用的内存数量,默认值是:50% of RAM - 1GB。

  视频讲解如下:

MongoDB的In-Memory存储引擎
【赵渝强老师】MongoDB的In-Memory存储引擎

  下面通过一个示例来演示如何使用MongoDB的In-Memory存储引擎。

(1)创建目录用于保存In-Memory存储引擎的元数据和诊断日志。

powershell 复制代码
mkdir -p /data/memory

(2)编辑配置文件/data/memory/memory.conf,输入下面的内容。

powershell 复制代码
dbpath=/data/memory/ 
port=27019
fork=true
logpath=/data/memory/memory.log
storageEngine=inMemory 

(3)启动MongoDB服务器端。

powershell 复制代码
mongod --config /data/memory/memory.conf

(4)使用mongoshell连接MongoDB。

powershell 复制代码
mongo --port 27019

(5)在MongoDB中创建一个数据库和一张新的集合,并插入一条数据。

powershell 复制代码
> use demomemory
> db.test2.insert({name:'Tom',age:18});

(6)执行一个简单的查询。

powershell 复制代码
> db.test2.find()

输出的信息如下:
{ "_id" : ObjectId("624a79c6bbaaee76910e3e09"), "name" : "Tom", "age" : 18 }

(7)切换到admin数据库,并关闭MongoDB数据库服务器端。

powershell 复制代码
> use admin
> db.shutdownServer()
> exit

(8)重新启动MongoDB服务器端,并使用mongoshell连接MongoDB

powershell 复制代码
mongod --config /data/memory/memory.conf
mongo --port 27019

(9)查看当前MongoDB实例中的数据库。

powershell 复制代码
> show dbs;

输出的信息如下:
admin  0.000GB
local  0.000GB

提示:因为使用In-Memory存储引擎,MongoDB不会执行数据的持久化操作。一旦重启了MongoDB数据库服务器,数据将会从内存中丢失。

相关推荐
SelectDB8 小时前
让变更流出 Doris:Apache Doris 5.0 基于增量计算的 CDC 技术解析
数据库
这个DBA有点耶8 小时前
MCP隔离层+行级语义审计+输出校验:AI访问数据库的安全边界拆解
数据库·人工智能·ai编程
这个DBA有点耶9 小时前
从反向扫描O(n)到正向扫描O(1):降序索引的物理机制与混合排序匹配规则
数据库
2501_9339232510 小时前
解读Redis:单线程模型
数据库·redis·缓存
我不会起名字32211 小时前
seq 空洞排查:Mongo 的 51 只是预留上界,Redis CURR 才是已消耗边界
redis·后端·mongodb·go·即时通讯·im·故障排查
Tapdata11 小时前
被忽略的第三类上下文:Agent 进入真实业务后,还缺什么?
数据库·人工智能·架构
小科先生12 小时前
Java springboot调用数据库的基本流程
java·数据库·spring boot
星恒随风12 小时前
MySQL 从零入门(四):表的增删改查与基础查询详解
linux·服务器·数据库·笔记·mysql
Pniubi14 小时前
MySQL靠什么实现事务的?事务隔离级别有哪些?
java·数据库·mysql
数据库小学妹15 小时前
pgbouncer 事务池:prepared statement、临时表与会话状态
数据库·后端·postgresql