我对python使用了memcache扩展,我有一个非常奇怪的问题。Memcached拒绝使用某些键存储完全相同的数据,并且成功地缓存了其他一些数据。
>>> import memcache
>>> conn = memcache.Client('121.0.0.1:11211', debug=0)
>>> conn.set('138b9c95d693760840aab85ee5591d2', 'test');
True
>>> conn.set('138b9c95d693760840aab85ee5591d3', 'test');
0
>>> conn.set('138b9c95d693760840aab85ee5591d4', 'test');
True
>>> conn.set('138b9c95d693760840aab85ee5591d5', 'test');
0
>>> conn.set('138b9c95d693760840aab85ee5591d6', 'test');
True
>>> conn.set('138b9c95d693760840aab85ee5591d7', 'test');
0
>>> conn.set('138b9c95d693760840aab85ee5591d8', 'test');
True
>>> conn.set('138b9c95d693760840aab85ee5591d9', 'test');
True
>>> conn.set('138b9c95d693760840aab85ee5591e0', 'test');
True
>>> conn.set('138b9c95d693760840aab85ee5591e1', 'test');
True我不太明白。我应该补充说,我使用了memcache模块的1.40版本,其中memcached 1.2.8运行在UbuntuServer9.10上。我用相同的键重新启动memcached守护进程,结果相同。
谢谢。
更新:I将memcached升级到版本1.4.2,打包在清晰的repos上,结果完全相同。
更新2:使用新的ubuntu设置在另一台服务器上输入的命令完全相同,结果相同,位置相同。
按照建议的更新#3,在客户端查询中使用一个列表而不是一个字符串:
>>> import memcache
>>> conn = memcache.Client(['121.0.0.1:11211'], debug=0)
>>> conn.set('138b9c95d693760840aab85ee5591d2', 'test');
0
>>> conn.set('138b9c95d693760840aab85ee5591d3', 'test');
0
>>> conn.set('138b9c95d693760840aab85ee5591d4', 'test');
0
>>> conn.set('138b9c95d693760840aab85ee5591d5', 'test');
0
>>> conn.set('138b9c95d693760840aab85ee5591d6', 'test');
0
>>> conn.set('138b9c95d693760840aab85ee5591d7', 'test');
0
>>>
>>> conn = memcache.Client('121.0.0.1:11211', debug=0)
>>> conn.set('138b9c95d693760840aab85ee5591d2', 'test');
True
>>> conn.set('138b9c95d693760840aab85ee5591d3', 'test');
0发布于 2010-03-08 23:57:37
第一个参数应该是一个列表。
conn = memcache.Client(['127.0.0.1:11211'], debug=0)https://stackoverflow.com/questions/2405621
复制相似问题