【问题标题】:What is the best (most efficient, reliable, secure and fastest) method to store sessions in Django [closed]在 Django 中存储会话的最佳(最有效、最可靠、最安全和最快)的方法是什么 [关闭]
【发布时间】:2014-01-31 08:21:05
【问题描述】:

我正在开发一个 Django 项目,该项目通过 API 在外部进行身份验证。所以在内部,我只需要记住会话变量中的用户是否登录(+帐户信息)。 Django 文档提供了一些存储会话数据的选项:

  1. 使用数据库支持的会话
  2. 使用缓存会话
  3. 使用直写式缓存(缓存和数据库)
  4. 使用基于文件的会话
  5. 使用基于 cookie 的会话

我不确定要使用哪一个,你最喜欢什么以及为什么?

【问题讨论】:

    标签: python django session memcached session-cookies


    【解决方案1】:

    https://docs.djangoproject.com/en/dev/topics/http/sessions/

    我的意见:

    我会推荐直写式缓存。它结合了数据库支持的会话和缓存的会话。数据库支持的会话速度较慢,缓存的会话缺乏持久性。直写缓存将它们结合起来,使会话持久且更快。

    基于 Cookie 的会话速度很快,但数据很小且不安全。但是账号信息不好用。

    基于文件的会话不是一个好主意,因为它无法扩展,并且需要磁盘 I/O。

    【讨论】:

    • 基于 cookie 的会话更加无状态,这意味着更具可扩展性。 +1
    • 现在有个名词叫JWT,不安全,不需要扩容。但我仍在寻找用于存储会话的 Redis。只是因为那很快。不考虑持久性,但安全。
    猜你喜欢
    • 2021-05-06
    • 1970-01-01
    • 2010-12-08
    • 1970-01-01
    • 1970-01-01
    • 2021-06-28
    • 2012-06-17
    • 2014-10-08
    • 1970-01-01
    相关资源
    最近更新 更多