擅长:python、mysql、java
<p>pymemcache作为客户端的服务<a href="https://memcached.org/" rel="nofollow">memcached</a>只支持字符串值。这就是为什么默认情况下pymemcache返回一个字符串。
我建议添加一个小包装器来序列化和反序列化从字符串到对象(如数组)的值。客户机支持添加自己的序列化程序,如下所示</p>
<pre><code>import json
from pymemcache.client.base import Client
def json_serializer(key, value):
if type(value) == str:
return value, 1
return json.dumps(value), 2
def json_deserializer(key, value, flags):
if flags == 1:
return value
if flags == 2:
return json.loads(value)
raise Exception("Unknown serialization format")
client = Client(('localhost', 11211), serializer=json_serializer,
deserializer=json_deserializer)
client.set('key', [1,2,3,4])
result = client.get('key')
</code></pre>