我有一个快速的search,似乎所有相关的问题都不太明白我的意思,或者太具体,无法帮我解决。
我首先考虑的是表现。我的理解是,默认情况下,在$_SESSION中存储信息意味着服务器将文件写入磁盘。对于小型lamp服务器或基本的小型托管网站,在数据库成为更有效的选项之前,您的$_SESSION变量需要获得多大的值。$_SESSION中的10、100、1000、10000个数组成员是否是您开始考虑改用数据库的地方?还是交通更需要考虑?
第二个考虑是安全。在其他一些回答中,我看到过类似“从不在$_SESSION变量中存储xxx”这样的语句。在数据库中存储信息是否真的比$_SESSION更安全,或者在服务器设置正确的情况下,$_SESSION可以像数据库一样安全?
我的感觉是,许多在野外开发的站点都会从使用$_SESSION开始,而不一定要经过重构才能使用数据库。如果您仍然可以将$_SESSION变量从文件重定向到数据库,那么最好使用$_SESSION然后在数据库中指出性能是否有问题?
对于这个设计选择,还有其他的考虑吗?

最佳答案

您缺少的主要内容是,存储在数据库中的任何内容都是无限期持久的,而会话只持续到用户注销或过期。
因此,在数据库中存储与会话相对应的内容的主要原因是希望保留它。
在任何需要可伸缩性的站点上,无论如何,您实际上都会将会话存储在数据库中,因此关于性能的第一点无关紧要。
至于安全性,只要会话数据被适当加密,它就足够安全。

09-25 16:59
查看更多