【问题标题】:what should I take into consideration when choosing a session implementation?选择会话实现时应该考虑什么?
【发布时间】:2011-02-14 01:34:37
【问题描述】:

昨天,我的主管告诉我,基于 tmp 文件的会话应该是会话实现的答案,我应该放弃任何让会话持久化的想法。

他认为基于文件的会话比基于 db 或基于 memcached 的实现等其他选择更快且更易于使用。

他说的话对我过去的学习经历来说真的是一个冲击,所以请告诉我他是否错了,为什么?

提前致谢。

【问题讨论】:

    标签: django session


    【解决方案1】:

    /dev/shm 会比 memcache 更快,但您必须确保同一会话的所有 http 请求每次都发送到同一台机器。像db-based、Memcached这样的分布式方案在负载均衡的时候就没有这个问题了。

    【讨论】:

      【解决方案2】:

      你的主管在抽烟。基于文件的会话持久的。您需要移动磁盘头才能找到它们,除非它们恰好位于 OS 文件缓存中。一个磁盘磁头移动需要大量的 memecache。

      而“更容易”是相对的。基于 tmp 文件的会话很容易设置,所以他在这一点上有点正确。

      【讨论】:

      • @Dave W. Smith:他指的是一种挥发的方式,将会话数据保存到 /dev/shm 目录中,正如他所说的那样只使用内存
      • 在这种情况下,只要你想办法清除过期会话就可以了。
      猜你喜欢
      • 2016-10-13
      • 1970-01-01
      • 2010-10-13
      • 1970-01-01
      • 2017-05-17
      • 2010-09-08
      • 1970-01-01
      • 2022-01-24
      • 1970-01-01
      相关资源
      最近更新 更多