【发布时间】:2010-12-21 10:17:41
【问题描述】:
默认情况下,PHP 中的 Memcached 模块使用 PHP 的内置序列化函数。因为我从其他编程语言访问相同的键,所以我找到了一个适用于所有语言的序列化模块。从 Memcached 存储/检索密钥时,如何使用我的序列化模块而不是 PHP 的?
【问题讨论】:
标签: php serialization memcached
默认情况下,PHP 中的 Memcached 模块使用 PHP 的内置序列化函数。因为我从其他编程语言访问相同的键,所以我找到了一个适用于所有语言的序列化模块。从 Memcached 存储/检索密钥时,如何使用我的序列化模块而不是 PHP 的?
【问题讨论】:
标签: php serialization memcached
只需将您的序列化数据放在一个字符串中并使用 memcache 保存即可,
$memcache->add('your_key', str, false, 30);
如果序列化生成二进制数据。你应该自己对它进行base64编码,因为PHP的二进制编码效率很低。
【讨论】:
如果你的 memcached php 模块是用定义的 HAVE_JSON_API 编译的(我认为自 php 5.2 起默认情况下是这样。文档说“需要 PHP 5.2.10+”)你可以设置 JSON 序列化器
$memchache->setOption(Memcached::OPT_SERIALIZER, Memcached::SERIALIZER_JSON);
(并且有许多许多语言的 json 编码/解码器)
【讨论】: