Почему memcached отказывается хранить данные с некоторыми ключами?

1

Я использую расширение 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 9.10. Я перезапустил демон memcached, тот же результат, с теми же ключами.

Спасибо.

Обновление: Я обновил memcached до версии 1.4.2, упакованный в ясные репозитории, с тем же результатом.

Обновление # 2: Точные команды, введенные на другом сервере с новой настройкой ubuntu, дают одинаковый результат в тех же местах.

Обновление # 3 Как и было предложено, вместо списка в Client Client можно указать список:

>>> 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
Теги:
memcached

1 ответ

1
Лучший ответ

Первым параметром должен быть список

conn = memcache.Client(['127.0.0.1:11211'], debug=0)
  • 0
    Hum. Ага. Но я боюсь, что со списком становится все хуже, чего я не могу объяснить. Я не могу заставить его работать. Смотрите мое обновление № 3
  • 0
    Вы уверены, что ваш memcached запущен? Попробуйте с debug=1
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню