为Sanic提供使用Redis、Memcache等后端的服务器会话。
项目描述
人类友好的Sanic会话管理
:warning: 警告:此项目处于仅接受Pull-Request模式。我不再使用Sanic进行任何项目,并且在未来可预见的将来不会自行进行任何更改。我建议使用AIOHTTP,因为它更成熟,接受度更高(我不只是根据github星级来判断)。尽管如此,如果你们希望看到代码更新,我将接受来自他人的Pull Request。
sanic_session
是为 Sanic 提供的会话管理扩展,它将服务器支持的会话与最方便的 API 集成在一起。
sanic_session
为您提供了一系列的 会话接口,以存储客户端的会话数据。目前可用的接口包括
- Redis(支持
aioredis
和asyncio_redis
驱动程序) - Memcache(通过
aiomcache
) - Mongodb(通过
sanic_motor
和pymongo
) - 内存中(适合测试和开发环境)
安装
使用 pip
安装(不同驱动程序有其他选项,请参阅文档)
pip install sanic_session
如果您更喜欢 Pipenv
pipenv install sanic_session
文档
文档可在 sanic-session.readthedocs.io 查阅。
此外,请确保您阅读了 OWASP 的会话管理备忘单,以获取关于会话管理的有用信息。
示例
以下是一个使用内存中会话接口的简单示例。
from sanic import Sanic
from sanic.response import text
from sanic_session import Session, InMemorySessionInterface
app = Sanic()
session = Session(app, interface=InMemorySessionInterface())
@app.route("/")
async def index(request):
# interact with the session like a normal dict
if not request.ctx.session.get('foo'):
request.ctx.session['foo'] = 0
request.ctx.session['foo'] += 1
return text(request.ctx.session['foo'])
if __name__ == "__main__":
app.run(host="0.0.0.0", port=8000)
有关使用 Redis 和 Memcache 支持的会话的示例,请参阅文档中的 使用接口。
— ⭐️ —
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分布
sanic_session-0.8.0.tar.gz (9.9 kB 查看哈希)
构建分布
sanic_session-0.8.0-py3-none-any.whl (13.1 kB 查看哈希)