【发布时间】:2011-02-14 01:34:37
【问题描述】:
昨天,我的主管告诉我,基于 tmp 文件的会话应该是会话实现的答案,我应该放弃任何让会话持久化的想法。
他认为基于文件的会话比基于 db 或基于 memcached 的实现等其他选择更快且更易于使用。
他说的话对我过去的学习经历来说真的是一个冲击,所以请告诉我他是否错了,为什么?
提前致谢。
【问题讨论】:
昨天,我的主管告诉我,基于 tmp 文件的会话应该是会话实现的答案,我应该放弃任何让会话持久化的想法。
他认为基于文件的会话比基于 db 或基于 memcached 的实现等其他选择更快且更易于使用。
他说的话对我过去的学习经历来说真的是一个冲击,所以请告诉我他是否错了,为什么?
提前致谢。
【问题讨论】:
/dev/shm 会比 memcache 更快,但您必须确保同一会话的所有 http 请求每次都发送到同一台机器。像db-based、Memcached这样的分布式方案在负载均衡的时候就没有这个问题了。
【讨论】:
你的主管在抽烟。基于文件的会话是持久的。您需要移动磁盘头才能找到它们,除非它们恰好位于 OS 文件缓存中。一个磁盘磁头移动需要大量的 memecache。
而“更容易”是相对的。基于 tmp 文件的会话很容易设置,所以他在这一点上有点正确。
【讨论】: