【发布时间】:2013-06-10 14:58:33
【问题描述】:
你能帮我解决我的问题吗?我有一些缓慢的 mysql 查询,所以我将其结果缓存到内存缓存中。
我会这样做:
$data = get_from_cache();
if (! $data) {
$data = get_from_mysql();
set_cache($data);
}
问题。 有时我每秒大约有 10 个请求。所以,当我的缓存到期时,我有 5-10 个 get-requests 同时启动这个缓慢的 mysql 查询。
你能给我推荐一种模式,让我在 php 中创建一个互斥锁,或者类似的东西,只对 mysql 执行一个缓慢的请求。
【问题讨论】: