在PHP SESSION中缓存数据,还是每次从db查询?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了在PHP SESSION中缓存数据,还是每次从db查询?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
它是“更好”(更高效,更快,更安全等)到(A)缓存数据,用于$_SESSION数组中的每个页面加载(但仍然查询表获取标记以重新加载数据),或者(B)每次从数据库加载它?

我正在使用缓存方法(A),但我担心有数百个用户,内存可能成为一个问题?它只是简单的数据,如名字,姓氏,生日等.

无论使用哪种方法,仍然会运行查询.思考?

如果您的数据在每个页面上使用,并且对所有用户都相同,我不会将其缓存在$_SESSION中(这意味着为每个用户提供不同的数据副本),但是还有另一种机制,例如:

>文件
>在内存中,例如APC(如果只有1台服务器)
>在内存中,例如使用Memcached(如果你有几个服务器)
>如果您的数据需要长时间计算或获得多个数据库查询,则将其缓存在数据库中可能是另一种可能性(意味着只需要一次查询获取,并且计算量更少)

如果您的数据对于每个用户来说都不相同(在您的情况下似乎就是这种情况,因为您正在缓存名称,生日,……):

>我会确保我只缓存必要的内容
>一旦你只有一些数据要缓存,把它放在会话中应该没问题
>如果你真的拥有那么多用户,你可能会遇到其他一些可扩展性问题,并且最有可能会使用像memcached这样的东西;这意味着你将有一些其他的缓存方式;-)

作为旁注:如果你一遍又一遍地做同样的查询,你的DB服务器应该自己缓存它(对于MySQL,它会进入“query cache”);所以,我认为它不会像你想象的那么糟糕 – 即使没有那么多优化^^

脚本宝典总结

以上是脚本宝典为你收集整理的在PHP SESSION中缓存数据,还是每次从db查询?全部内容,希望文章能够帮你解决在PHP SESSION中缓存数据,还是每次从db查询?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。