【问题标题】:Memcached::touchByKey(): touch is only supported with binary protocolMemcached::touchByKey():仅二进制协议支持触摸
【发布时间】:2013-07-13 21:06:03
【问题描述】:

我正在尝试使用作为 memcached 函数的 TouchByKey,但会弹出此警告:

Memcached::touchByKey(): touch is only supported with binary protocol

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

Touch() 也会出现同样的问题

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

【问题讨论】:

    标签: php memcached


    【解决方案1】:

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

    【讨论】:

    • 感谢您的回答。你能指导我设置二进制协议吗?
    • 您使用的是哪个 PHP 库?我相信有两个不同的库。
    • memcached(不是 memcache)
    • 我不是 php 专家,但我确实查看了 memcache php 的文档,但找不到任何 API 可以将客户端设置为二进制模式。不过,memcached php 客户端似乎确实支持它。
    猜你喜欢
    • 2012-01-21
    • 1970-01-01
    • 2013-05-08
    • 1970-01-01
    • 2021-03-21
    • 2014-10-02
    • 2021-12-04
    • 1970-01-01
    • 2017-03-02
    相关资源
    最近更新 更多