使用Ketam使用多个客户端访问memcache,密钥分发一致

2024-05-13 10:46:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我在从memcache服务器读取数据时遇到了问题,使用的Python客户端与用于将值写入memcache的客户端不同。在

我有一个进程用pylibmc写入缓存,使用'ketama'行为。我有一个不同的服务,它从memcache异步读取,而不是Tornado IOLoop。我已经定制了tornado-memcache以使用python-ketama模块查找服务器,该模块只是通用C库libketama的包装器。在

相关pylibmc客户端初始化代码:

mc = pylibmc.Client(nodes, behaviors={"no_block": True,
                                      "tcp_nodelay":True,
                                      "ketama": True,
                                      "hash": 'md5'})

有没有人有类似的经验(多个客户)?这两个客户机使用的哈希连续体可能非常不同,或者密钥的哈希/检索方式也不同(两个客户端都应该使用md5)。在

编辑: 我已经写了测试来确认这是一个连续体问题。在


Tags: 模块服务器true客户端进程读取数据tornadomd5