安装库
pip3 install sanic redis
初始化Sanic的Redis连接池
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# File : app.py
from sanic import Sanic
from redis import Redis, ConnectionPool
app = Sanic(__name__)
# 设置静态文件目录
app.static("/static", "./static")
@app.listener("before_server_start")
async def before_server_start(app):
app.ctx.redis = Redis(connection_pool=ConnectionPool().from_url(
url="redis://127.0.0.1", port=6379, db=2, password="PASSWORD", encoding="utf-8", decode_responses=True))
@app.listener("after_server_stop")
def after_server_stop(app):
app.ctx.redis.close()
app.ctx.redis.wait_closed()
Redis使用
get值
with app.ctx.redis.get() as redis:
response = redis.get(key)
set值
with app.ctx.redis.get() as redis:
redis.set(key, value, timeout)
set(name, value, ex=None, px=None, nx=False, xx=False)
在Redis中设置值,默认,不存在则创建,存在则修改
参数:
ex,过期时间(秒)
px,过期时间(毫秒)
nx,如果设置为True,则只有name不存在时,set操作才执行
xx,如果设置为True,则只有name存在时,set操作才执行
评论区