当前位置: 首页 > news >正文

NoSQL实战指南:MongoDB与Redis企业级开发实战

简介

掌握MongoDB和Redis的实战技能,是开发高并发、大数据量应用的必备能力。 本文将从安装配置到企业级实战,全面讲解这两种主流NoSQL数据库的核心特性和应用场景。通过详细的操作步骤、代码示例和架构设计,帮助开发者构建高效、可扩展的NoSQL解决方案。

一、安装配置

1.1 MongoDB 7.x安装与基础配置

MongoDB作为文档型数据库,其安装过程简单明了。在Linux系统中,可通过Docker快速部署MongoDB 7.x集群:

# 安装Docker
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io# 创建MongoDB容器
docker run -d --name mongodb -p 27017:27017 -v /data/mongodb:/data/db -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=admin123 -t mongo:7.0

配置文件mongod.conf中需注意以下关键参数:

net:port: 27017bindIp: 0.0.0.0
storage:dbPath: /data/dbwiredTiger:engineConfig:cacheSizeGB: 2
systemLog:destination: filepath: /var/log/mongodb/mongod.log

1.2 Redis 7.0安装与缓存配置

Redis作为内存数据库,安装同样简便。在Linux系统中可通过源码编译或预编译包安装:

# 安装Redis 7.0
wget http://download.redis.io/releases/redis-7.0.7.tar.gz
tar xzf redis-7.0.7.tar.gz
cd redis-7.0.7
make
sudo make install

Redis配置文件redis.conf中需关注以下参数:

port 6379
bind 0.0.0.0
requirepass 123456
maxmemory 4gb
maxmemory-policy volatile-lru

1.3 集群环境搭建

在生产环境中,MongoDB和Redis通常以集群形式部署。以下是MongoDB分片集群和Redis集群的基本搭建步骤:

# MongoDB分片集群搭建
# 启动配置服务器
docker run -d --name configsvr1 -p 27019:27017 -v /data/configsvr1:/data/db -e MONGO_REPLICA_SET_NAME=configReplSet -t mongo:7.0 --configsvr --replSet configReplSet# 启动分片服务器
docker run -d --name shard1 -p 27020:27017 -v /data/shard1:/data/db -e MONGO_REPLICA_SET_NAME=shard1ReplSet -t mongo:7.0 --shardsvr --replSet shard1ReplSet# 启动Mongos路由
docker run -d --name mongos -p 27017:27017 -v /data/mongos:/data/db -t mongo:7.0 --mongos --configdb configReplSet/configsvr1:27017

Redis集群搭建可通过Redis Cluster命令实现:

# 启动Redis节点
redis-server --port 7000 --cluster-enabled yes --cluster-config-file nodes-7000.conf --cluster-node-timeout 5000
redis-server --port 7001 --cluster-enabled yes --cluster-config-file nodes-7001.conf --cluster-node-timeout 5000
redis-server --port 7002 --cluster-enabled yes --cluster-config-file nodes-7002.conf --cluster-node-timeout 5000# 创建集群
redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 --cluster-replicas 1

二、基本操作

2.1 MongoDB文档操作

MongoDB支持丰富的文档操作,包括CRUD和聚合查询。以下是一些基本操作示例:

// 连接MongoDB
const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://localhost:27017';// 插入文档
MongoClient.connect(url, function(err, db) {if (err) throw err;const dbo = db.db("mydb");const myobj = { name: "John", age: 30, city: "New York" };dbo.collection("users").insertOne(myobj, function(err, res) {if (err) throw err;console.log("文档插入成功");db.close();});
});// 查询文档
dbo.collection("users").find({}).toArray(function(err, result) {if (err) throw err;console.log(result);db.close();
});// 更新文档
dbo.collection("users").updateOne({ name: "John" }, { $set: { age
http://www.xdnf.cn/news/510013.html

相关文章:

  • Vue 3 动态 ref 的使用方式(表格)
  • 【Linux高级全栈开发】2.1.3 http服务器的实现
  • AI:NLP 情感分析
  • Filament引擎(一) ——渲染框架设计
  • 中级网络工程师知识点7
  • 课外活动:需了解的海象运算符(:=)
  • HTTPS的工作过程
  • 低延迟与高性能的技术优势解析:SmartPlayer VS VLC Media Player
  • 贪心、分治和回溯算法
  • 当AI自我纠错:一个简单的“Wait“提示如何让模型思考更深、推理更强
  • MySQL(21)如何查询表中的所有数据?
  • ffmpeg -vf subtitles添加字幕绝对路径问题的解决方法
  • 吴恩达机器学习(1)——机器学习算法分类
  • NetApp FAS存储系统的加密Encrytpion解决方案介绍
  • 西门子1200/1500博图(TIA Portal)寻址方式详解
  • 从零开始实现大语言模型(十五):并行计算与分布式机器学习
  • 【深度学习基础】从感知机到多层神经网络:模型原理、结构与计算过程全解析
  • java中sleep()和wait()暂停线程的区别
  • 算法题(149):矩阵消除游戏
  • 计算机系统---TPU(张量处理单元)
  • k6学习k6学习k6学习k6学习k6学习k6学习
  • 一文读懂软链接硬链接
  • 5.18 打卡
  • npm与pnpm--为什么推荐pnpm
  • 【Vue】路由1——路由的引入 以及 路由的传参
  • 相机基础常识
  • PrimeVul论文解读-如何构建高质量漏洞标签与数据集
  • HarmonyOS 与 OpenHarmony:同根而不同途
  • 低代码AI开发新趋势:Dify平台化开发实战
  • 张 心理问题的分类以及解决流程