简介:本文详细介绍NoSQL数据库的安装配置与基础使用方法,涵盖主流NoSQL类型及实战案例,帮助开发者快速掌握非关系型数据库核心技术。
NoSQL(Not Only SQL)泛指非关系型数据库,与传统关系型数据库(如MySQL、Oracle)形成互补。其核心特点包括:
根据数据模型不同,NoSQL主要分为四类:
# 导入公钥wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -# 创建列表文件echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu $(lsb_release -sc)/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list# 安装MongoDBsudo apt-get updatesudo apt-get install -y mongodb-org# 启动服务sudo systemctl start mongodsudo systemctl enable mongod
C:\Program Files\MongoDB\Server\6.0\bin到PATHC:\data\dbmongod.exe启动服务
# 下载稳定版wget https://download.redis.io/redis-stable.tar.gztar xzf redis-stable.tar.gzcd redis-stable# 编译安装makesudo make install# 配置Rediscp redis.conf /etc/# 修改配置项:# daemonize yes# bind 0.0.0.0# requirepass yourpassword# 启动服务redis-server /etc/redis.conf
docker run --name redis -p 6379:6379 -d redis:latest redis-server --requirepass "yourpassword"
# 节点1配置echo "listen_address: 192.168.1.101rpc_address: 192.168.1.101seed_provider:- class_name: org.apache.cassandra.locator.SimpleSeedProviderparameters:- seeds: \"192.168.1.101,192.168.1.102\"" > /etc/cassandra/cassandra.yaml# 启动服务sudo systemctl start cassandra# 验证集群状态nodetool status
// 连接数据库use mydb// 插入文档db.users.insertOne({name: "Alice",age: 28,skills: ["JavaScript", "MongoDB"]})// 查询文档db.users.find({age: {$gt: 25}})// 索引创建db.users.createIndex({name: 1})
# 字符串操作SET user:1001 '{"name":"Bob","age":32}'GET user:1001# 哈希表操作HSET user:1002 name "Charlie" age 25HGETALL user:1002# 发布订阅模式SUBSCRIBE newsPUBLISH news "New update available"
-- 创建键空间CREATE KEYSPACE mykeyspaceWITH REPLICATION = {'class': 'SimpleStrategy','replication_factor': 3};-- 创建表CREATE TABLE users (user_id UUID PRIMARY KEY,name TEXT,email TEXT,last_login TIMESTAMP);-- 插入数据INSERT INTO users (user_id, name, email)VALUES (uuid(), 'David', 'david@example.com');
是否需要强事务一致性?├─ 是 → 考虑NewSQL或关系型数据库└─ 否 → 继续数据模型是否高度结构化?├─ 是 → 文档型或列族型└─ 否 → 键值型是否需要处理复杂关系?├─ 是 → 图数据库└─ 否 → 其他类型
concurrent_reads和concurrent_writeskey_cache_size_in_mb和row_cache_size_in_mbbindIp配置是否允许外部连接INFO memory查看内存使用详情redis-cli --bigkeysnodetool tpstats查看线程池状态compaction_throughput_mb_per_sec参数建议开发者从MongoDB或Redis入手,通过实际项目积累经验后,再根据业务需求扩展技术栈。参与开源社区(如MongoDB University、Redis Labs培训)可以加速学习进程。
通过本文的系统学习,开发者可以掌握NoSQL数据库的核心概念、安装配置方法及基础操作技巧,为后续深入学习分布式系统架构和大数据处理打下坚实基础。