跳转到主要内容

为Sanic提供使用Redis、Memcache等后端的服务器会话。

项目描述

人类友好的Sanic会话管理

ReadTheDocs License: MIT PyPI version

:warning: 警告:此项目处于仅接受Pull-Request模式。我不再使用Sanic进行任何项目,并且在未来可预见的将来不会自行进行任何更改。我建议使用AIOHTTP,因为它更成熟,接受度更高(我不只是根据github星级来判断)。尽管如此,如果你们希望看到代码更新,我将接受来自他人的Pull Request。

sanic_session 是为 Sanic 提供的会话管理扩展,它将服务器支持的会话与最方便的 API 集成在一起。

sanic_session 为您提供了一系列的 会话接口,以存储客户端的会话数据。目前可用的接口包括

  • Redis(支持 aioredisasyncio_redis 驱动程序)
  • Memcache(通过 aiomcache
  • Mongodb(通过 sanic_motorpymongo
  • 内存中(适合测试和开发环境)

安装

使用 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 查看哈希)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面