PHP-MySQL我们如何使用memcached来执行大容量语句以实现负载平衡?
我喜欢使用memcached来存储定期更新的sql语句,然后每30秒批量执行一次,以此类推。。如何以编程方式编写此代码 我尝试了以下功能,但我完全迷路了PHP-MySQL我们如何使用memcached来执行大容量语句以实现负载平衡?,php,mysql,memcached,Php,Mysql,Memcached,我喜欢使用memcached来存储定期更新的sql语句,然后每30秒批量执行一次,以此类推。。如何以编程方式编写此代码 我尝试了以下功能,但我完全迷路了 function search_click($search_id) { if (MEMCACHE === true) { $key = __FUNCTION__.date("Y-m-d H:i",time()); //. strtotime(date("Ymdhi", time(
function search_click($search_id)
{
if (MEMCACHE === true) {
$key = __FUNCTION__.date("Y-m-d H:i",time());
//. strtotime(date("Ymdhi", time()));
$memcache_obj = new Memcache;
$memcache_obj->connect('localhost', 11211);
$sql = $memcache_obj->get($key);
$sql.= " UPDATE LOW_PRIORITY search_si
SET count=count+1
WHERE
search_id='" . mysql_real_escape_string($search_id) . "' ; ";
$memcache_obj->set($key,$sql);// repopulate the cache
$res = mysql_query($sql) or die(mysql_error());
}
}
缓存中的内容应该是可复制的,需要执行的SQL语句不属于这些内容;也许Redis是一个更好的选择。你是什么意思?我所要做的就是缓存它们并批量执行它们。缓存不能保证在执行批量更新之前所有缓存项都保留在缓存中。为什么?我已经依赖memcache很长时间了,我没有遇到任何问题,而且这些查询的优先级很低