Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.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 Memcached::touchByKey():只有二进制协议才支持触摸_Php_Memcached - Fatal编程技术网

Php Memcached::touchByKey():只有二进制协议才支持触摸

Php Memcached::touchByKey():只有二进制协议才支持触摸,php,memcached,Php,Memcached,我正在尝试使用TouchByKey,这是一个memcached函数,但会弹出以下警告: Memcached::touchByKey():触摸仅支持二进制协议 我发现我可以使用这样的东西:$mc->setOption(\Memcached::OPT_BINARY_PROTOCOL,true)在客户端 同样的问题也发生在Touch() 我的问题是,我是否需要更改memcache服务器本身的任何内容?为什么这甚至需要二进制协议?为什么此功能不适用于当前的ASCII协议 当实现完成时,它只针对二进制协议

我正在尝试使用TouchByKey,这是一个memcached函数,但会弹出以下警告:

Memcached::touchByKey():触摸仅支持二进制协议

我发现我可以使用这样的东西:
$mc->setOption(\Memcached::OPT_BINARY_PROTOCOL,true)在客户端

同样的问题也发生在
Touch()


我的问题是,我是否需要更改memcache服务器本身的任何内容?为什么这甚至需要二进制协议?为什么此功能不适用于当前的ASCII协议

当实现完成时,它只针对二进制协议执行,但没有具体原因说明为什么不能针对ASCII协议执行。实现者可能只是不想把时间花在两者上。我要注意的另一件事是二进制协议比ASCII协议快得多。除非您有使用ASCII的特定原因,否则我建议您只切换到二进制。此外,如果您想提交memcached补丁以支持ASCII协议,我相信项目所有者会将其合并。

谢谢您的回答。您能指导我如何设置二进制协议吗?您使用的是哪个PHP库?我相信有两个不同的库。memcached(不是memcache)我不是一个php爱好者,但我确实查看了memcache php的文档,没有找到任何API来将客户端设置为二进制模式。不过,memcached php客户端似乎确实支持它。