ключ, содержащий неверный тип значения в redis при отправке данных в список - PullRequest
2 голосов
/ 03 января 2011

Я пытаюсь повторить на моем приложении heroku.У меня есть следующий код в config/initializers/redis.rb

uri = URI.parse(ENV["REDISTOGO_URL"])
REDIS = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)

Я пытаюсь в консоли следующее, но получаю ошибку:

irb(main):003:0> REDIS.rpush ('foo','bar')
(irb):3: warning: don't put space before argument parentheses
RuntimeError: -ERR Operation against a key holding the wrong kind of value

1 Ответ

11 голосов
/ 03 января 2011

Эта ошибка возвращается, когда вы пытаетесь воздействовать, например, на значение списка, когда ключ содержит значение другого типа (например, строка, набор и т. Д.). Чтобы узнать, какой тип значения хранится в foo, вы можете использовать следующую команду:

REDIS.type("foo")

Когда вы делаете RPUSH или LPUSH для ключа, который не содержит значения, список будет создан автоматически. Таким образом, вы должны убедиться, что foo не существует или содержит значение списка для этой операции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...