当前位置:  开发笔记 > 编程语言 > 正文

我应该使用数据库会话还是本机PHP文件会话?

如何解决《我应该使用数据库会话还是本机PHP文件会话?》经验,为你挑选了1个好方法。

我刚从我自己的MVC框架转移到社区支持的(CodeIgniter).我只是将我的会话转换为CodeIgniter函数,并注意到它们默认情况下将会话数据存储在加密的cookie中.它们提供的替代方案是数据库会话,但不是本机PHP库之类的服务器端文件会话.

现在在我的网站上,我将构建一个安全的后端面板,因此加密的cookie看起来不像是智能选项,但我不需要不必要地连接到我的数据库,因为它不是很快(共享主机).

我想知道他们背后不支持原生会话的原因是什么,数据库会话服务器端文件会话通常被认为是更好的选择.

谢谢.



1> Pascal MARTI..:

基本上,为了存储会话的数据,人们通常使用以下三种解决方案之一:

文件(默认)

数据库

memcached的

文件是最常用的,因为它是默认设置 - 并且在大多数情况下它完全正常 - 但是至少有一种情况它不起作用:当你有多个服务器,并且你的用户负载均衡时那些(即1个用户并不总是在同一台服务器上).

在这种情况下,有一个中央/共享位置来存储会话是必要的 - 数据库符合该描述; 并且易于设置 - 并且PHP应用程序通常与数据库一起使用.

而且由于数据库不能很好地扩展,特别是对于写入,你有时会使用像memcached这样的东西:一种将数据存储在RAM (更快)中的机制,与你想要/需要的服务器一样多(可以很好地扩展).


你应该使用什么解决方案?

那么,你在哪种情况下呢?

文件是可以的,至少只要一个用户总是在同一台服务器上

如果您的应用程序需要数据库,则可以在数据库中存储会话:不需要任何额外的设置(例如,Drupal默认情况下这样做).

memcached需要更多的设置,但如果你的流量非常大,可能是最好的解决方案......

推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有