你能帮我解决我的问题吗?我有一些缓慢的 mysql 查询,所以我将其结果缓存到 memcache 中。
我做这样的事情:
$data = get_from_cache();
if (! $data) {
$data = get_from_mysql();
set_cache($data);
}
问题。有时我每秒大约有 10 个请求。因此,当我的缓存到期时,我有 5-10 个 get-requests 同时启动这个慢速 mysql 查询。
你能推荐一种模式让我在 php 中创建一个互斥锁,或者类似的东西,只对 mysql 执行一个缓慢的请求。