首页 / 帖子
drupal 的session数据为何要保存在database中?原生的岂不是更快?
2个答案
老葛
发布于:2014-10-14 07:31

可以这么说,稍微大一点的网站session都不会用原生的。原因大致有以下几点,

  1. 管理不方便,数据库可以方便查阅,比如读取等。

  2. 架构不容易扩展,比如有两台web服务器,存原生的会在每一台web上存文件,用户登录信息没法同步。这种负载均衡的结果就是用户一会登录了,一会没登录。

  3. 文件管理,我印象中有一次,服务器的临时文件夹被撑爆就是因为session文件的问题,具体原因我也记不住了。

当然,除了上面几点应该还有原因。不过也不能说文件存储一无是处,看情况吧。

发布于:2014-10-15 22:17

php默认是文件管理的,文件存在碎片化,同时安全问题也是大问题,明文保存的。

更重要的是,只有剥离出来,保存到数据库(数据库可以是mysql,memcache,redis等等)里,才能实现好的负载均衡,为大并发做准备。