MongoDB是一款流行的NoSQL数据库。这里对MongoDB进行介绍,并给出安装、基本使用和作为缓存的示例。
MongoDB介绍:
- MongoDB是一个文档导向的数据库,使用JSON-like文档存储数据
- MongoDB不需要定义表结构,可以灵活存储不同格式和类型的数据
- MongoDB支持索引,事务,高可用性等功能
- MongoDB使用BSON格式来存储数据和排序索引
- 适用于某些不需要严格约束的数据存储场景
MongoDB安装:
bash
```bash
# 获取MongoDB安装包
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1804-4.4.6.tgz
# 解压安装包
tar -xvf mongodb-linux-x86_64-ubuntu1804-4.4.6.tgz
# 创建数据库路径
sudo mkdir -p /data/db
# 启动MongoDB
sudo ./bin/mongod
# 访问MongoDB Shell
./bin/mongo
# 停止MongoDB
sudo ./bin/mongod --shutdown
MongoDB基本使用:
bash
# 创建数据库和集合
> use mydatabase
> db.createCollection("mycollection")
# 插入文档
> db.mycollection.insert({name: "John", age: 30})
# 查询文档
> db.mycollection.findOne()
> db.mycollection.find({age: 30})
# 更新文档
> db.mycollection.updateOne({name: "John"}, {$set: {age: 35}})
# 删除文档
> db.mycollection.deleteOne({name: "John"})
MongoDB作为缓存:
python
import pymongo
# 连接MongoDB
client = pymongo.MongoClient("mongodb://localhost:27017")
# 获取缓存数据库和集合
db = client.cache
collection = db.cache_data
# 设置缓存数据
collection.insert_one({"key": "value1", "data": "some data"})
# 获取缓存数据
item = collection.find_one({"key": "value1"})
print(item["data"])
# 删除缓存数据
collection.delete_one({"key": "value1"})
- MongoDB的读写性能很高,适用于缓存场景
- 可以使用find_one快速获取缓存,并用insert/update设置缓存
- 过期数据可以定期清理,使用TTL索引实现自动过期