我在使用不同的 Python 客户端从内存缓存服务器读取数据时遇到问题,然后是用于将值写入内存缓存的那个。
我有一个使用 'ketama' 行为使用 pylibmc 写入缓存的进程。我有一个不同的服务,它从 Tornado IOLoop 异步读取 memcache。我已经定制了tornado-memcache以使用python-ketama模块查找服务器,该模块只是通用 C 库 libketama 的包装器。
相关pylibmc客户端初始化代码:
mc = pylibmc.Client(nodes, behaviors={"no_block": True,
"tcp_nodelay":True,
"ketama": True,
"hash": 'md5'})
有没有人做过类似的事情(多个客户)?似乎两个客户端使用的哈希连续体非常不同,或者密钥的哈希/检索方式不同(两个客户端都应该使用 md5)。
编辑: 我已经编写了测试以确认这是一个连续问题。