php缓存或任何可以减少页面刷新数据库查询的东西

时间:2015-04-12 06:48:42

标签: php mysql caching

你好,我有一个网站,我有一个侧面板,在所有页面上显示相同的东西 我的意思是数据库获取的数据经常变化。 就像我在我的网站左侧有一个pannel,显示最近的生日,仅在1天后更改,但问题是,每次刷新页面时,需要一次又一次地从数据库中提取相同的数据这可能会增加数据库负载和页面加载时间

我想知道在执行查询后是否有任何可以显示侧栏的内容,之后会从会话/缓存中获取结果或者解决方法是什么

我认为它可以通过像memcache这样的缓存来完成,但我不知道如何 我也尝试将它们存储到会话和cookie中,但是有错误它说不能将对象存储到会话中而且我必须使用循环来查询查询得到的结果就像

  $birthday_query=mysqli_query($connection,"select name,email,id,date from members where dob 'some code here' "); 
   // this code fetches about 30-40 results and i am using the loop to display the results..

2 个答案:

答案 0 :(得分:1)

是的,您可以使用memcache存储信息。这是您的最佳选择,因为它将保留在服务器内存中。

您还可以使用非常简单的内容,例如临时文件,以保存最近的生日信息 - HTML代码。每天更新一次此文件中的信息并从那里阅读。对于每个用户,您可以阅读一次信息(当他们第一次来到网站时),然后将其存储并从会话中读取。

答案 1 :(得分:1)

只需30-40个结果,您就不需要缓存它就不会增加很多价值,只要用户浏览您的第一页然后获取,就可以使用Session来存储数据。数据始终来自Session。使用文件缓存html也是一个不错的选择。

您可以查看how to store object into session