我刚刚为一个社交网站设计了一个管理控制台。我的老板现在要我缓存构建这些结果的几个 MySQL 查询的结果(24 小时)。该站点使用 Memcached(带有 Wordpress W3 总缓存)和 XCache。我想知道最好的方法是什么。
这是一个此类查询的示例以及我如何获得结果(基本上我返回的是用户的汇总统计信息,这意味着我的结果相当简单,例如:
//users who registered in last 365 days
$users_reg_365 = "select ID
from wp_users
where user_registered > NOW() - interval 365 day";
然后使用 wpdb 查询类来获取结果:
$users_reg_365 = $wpdb->get_results($users_reg_365);
然后在仪表板中显示结果:
<li><?php echo "Total users who registered within last 365 days: <span class='sqlresult'>" . sizeof($users_reg_365) . "</span>"; ?></li>
我对 Memcached/XCache 的理解是它基本上存储字符串,所以只缓存 sizeof($users_reg_365) 有意义吗?
最后一个问题是我们的 Wordpress 站点使用 W3 总缓存,它利用了 Memcached,老板让我不要使用 Memcached 而是使用 XCache,但我发现文档有点混乱。解决这个问题的最佳方法是什么?是否可以告诉 SQL 本身“记住”这样的某些查询,或者内存缓存是要走的路?
谢谢!