Я использую расширение memcache для python, и у меня очень странная проблема. 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
Я не очень понимаю. Я должен добавить, что я использую версию 1.40 модуля memcache с memcached 1.2.8, работающим на Ubuntu Server 9.10. Я перезапустил демон memcached, тот же результат, с теми же ключами.
Спасибо.
Обновление: Я обновил memcached до версии 1.4.2, упакованный в репозитории Lucid, с тем же результатом.
Обновление № 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