问题 会话在文件和数据库之间的区别[关闭]


在文件和数据库中存储会话有什么区别?


9907
2018-04-22 04:22


起源

为什么人们投票结束这个?如果你不知道答案,这不是一个坏问题。 - Peter Rowell
因为没人能猜出OP在询问什么。什么样的'会话'?什么数据库? - bmargulies
我认为人们关闭这个问题以获得SE索引并且也感觉很重要。自我是一个野兽,不断需要喂养,对吗?这是一个有效的问题。 - Jeffz


答案:


主要区别在于从数据库中获取会话信息可能比从文件系统中获取快得多。这部分是因为DB缓存,但也因为如果有大量的会话文件,文件系统可能无法很好地处理它。当单个目录中有几千个文件时,大多数文件系统开始降级,而DB不会遇到此问题。

其他原因包括细粒度的安全性,复制和/或分片,所有这些都是DBMS的肉和土豆,而不是文件系统。

如果你只有几个会话并不重要,但是当有10,000或10,000,000个会话时,肯定会有。


16
2018-04-22 04:33



这个答案证明它至少是“一个真正的问题”。它绝对可以“以其现有形式得到合理回答”。 - bfavaretto
不。这个答案反映了使用ouija董事会神奇地确定问题的实际主题。 - bmargulies
@bmargulies:Ouija董事会?真的吗? OP并未询问会议内容 是或者如何 使用 一个会话,他想知道为什么有些网站使用文件存储会话信息而其他网站使用DMBS。鉴于会话的内容不会根据其存储方法而有所不同,我可以看到的对他的请求的唯一可能解释是一种方法相对于另一种方法的相对好处。 - Peter Rowell
在业界工作了40年之后,我确信我也可以列出一份清单,但我选择使用 上下文 手头的事情限制了可能性。考虑到本网站的背景,我有兴趣看到这个问题以及这个特定用户的列表,他们似乎要求提出相当多的PHP相关问题 - 这种类型的决策需要的环境由程序员制作。 - Peter Rowell
@Peter Rowell完美回答彼得! - GTodorov