Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php缓存或任何可以减少页面刷新时数据库查询的内容_Php_Mysql_Caching - Fatal编程技术网

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

php缓存或任何可以减少页面刷新时数据库查询的内容,php,mysql,caching,Php,Mysql,Caching,大家好,我有一个网站,我有一个侧面板,显示在所有页面上相同的东西 我的意思是数据库获取的数据经常变化。 就像我在我的网站左侧有一个显示最近生日的窗格,它只会在1天后更改,但问题是每次刷新页面时,都需要从数据库中一次又一次地获取相同的数据,这会增加数据库负载和页面加载时间 我想知道在执行查询之后,是否有任何东西可以显示侧栏,然后从会话/缓存或解决方案中获取结果 我认为它可以通过像memcache这样的缓存来实现,但我不知道如何实现 我还试图将它们存储到会话和cookie中,但有一个错误,它说不能将

大家好,我有一个网站,我有一个侧面板,显示在所有页面上相同的东西 我的意思是数据库获取的数据经常变化。 就像我在我的网站左侧有一个显示最近生日的窗格,它只会在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..

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


你也可以使用一些非常简单的东西,比如一个临时文件来保存最近的生日信息——HTML代码。每天更新此文件中的信息一次,然后从中读取。对于每个用户,您都可以阅读一次信息(当他们第一次访问网站时),然后将其存储并从会话中读取。

对于仅30-40个结果,您不需要缓存,它不会增加很大的价值,最好使用
Session
来存储用户浏览第一页时的数据,然后总是从
Session
获取数据。在这里,使用文件缓存html也是一个不错的选择


你可以检查一下

我对memcache很陌生,你能告诉我如何开始memcache。。。我不是要你们教我,只是一个创业和连接等等。互联网上有很多关于这方面的教程。例如:可能只有30-40个结果,但不建议在繁忙站点的每个页面上运行此查询(任何重复查询)。我从未说过在每个页面上运行相同的查询。我的观点是,对于这种情况,
Session
是一个很好的缓存选择。