Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.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/5/fortran/2.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-MySQL我们如何使用memcached来执行大容量语句以实现负载平衡?_Php_Mysql_Memcached - Fatal编程技术网

PHP-MySQL我们如何使用memcached来执行大容量语句以实现负载平衡?

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(

我喜欢使用memcached来存储定期更新的sql语句,然后每30秒批量执行一次,以此类推。。如何以编程方式编写此代码

我尝试了以下功能,但我完全迷路了

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很长时间了,我没有遇到任何问题,而且这些查询的优先级很低