数据持久化
所谓数据持久化就是将redis中存储的item数据存储到其他数据库或介质中
为什么要做数据持久化处理
1)redis是内存型数据库,容量有限
2)内存在断电时会丢失所有数据,不安全
3)数据的使用一般不使用redis
如何将数据持久化
——–将redis数据库中的数据读出,存放到其他类型的数据库中
Python redis库
1.链接:
redis.Redis(host,port,db)
2.读取:
以先进先出的形式读取数据
source,data = redis.blpop(keylist)
以先进后出的形式读取数据
source,data = redis.brpop(keylist)
简单的代码逻辑
#需要链接两个数据库,需要导入redis, mongodb
import redis
from pymongo import MongoClient
import json
# 链接redis数据库
redis_client = redis.Redis(host='172.16.144.6666666', port=6379, db=0) #ip地址,端口
#链接mongodb数据库
mongo_client = MongoClient('127.0.0.1', 27017) #ip 端口
db = mongo_client['JD'] #数据库名
col = db['mobile'] #集合名
while True:
# 从redis中读取数据
source, data = redis_client.blpop(['mobile:items']) #此时读取的是集合items
str_data = data.decode()
dict_data = json.loads(str_data) #转化为json字典
# 将数据写入到mongodb中
col.insert(dict_data)