Python将数据存储到Redis
- 先判断Redis 中是否有相关数据
- 如果有直接返回给前端
- 如果没有代码逻辑处理,获取MySQL 中数据
- 将数据存储到Redis 中
- redis 中取出数据返回给前端
def show_index():
# 判断redis 中有没有相关数据 key:index_data
try:
if redis_store.get("index_data"):
# 将数据序列化后存储到Redis
data = json.loads(redis_store.get("index_data"))
return render_template("news/index.html", data=data)
except Exception as e:
return jsonify(errno=RET.DBERR, errmsg="获取数据失败")
# redis 没有相关缓存数据,业务代码处理逻辑返回数据
# ... 业务代码 ...
# ... 业务代码 ...
# ... 业务代码 ...
# 将业务数据先写入Redis 中,在从Redis 取出返回给前端
try:
# 将业务数据先写入Redis,TTL 50秒
redis_store.set("index_data", json.dumps(redis_data), 50)
except Exception as e:
current_app.logger.error(e)
return jsonify(errno=RET.DBERR, errmsg="首页数据写入Redis出错")
data = json.loads(redis_store.get("index_data"))
return render_template("news/index.html", data=data)