Estoy empezando con Redis con Rails, así que esta puede ser una pregunta tonta.Guardar un HASH a Redis en una aplicación de rieles
Estoy tratando de guardar un hash para redis server pero cuando lo recupero es solo una cadena IE.
hash = {"field" => "value", "field2" => "value2"}
$redis.set('data', hash)
#So collecting the data
@data = $redis.get('data')
Esto obviamente no es correcto ya que regresa como una cadena.
También he intentado hacer bucles de algunos resultados y usar hset ie.
@data.each do |d|
$redis.hset('data', d.field, d.value)
end
# errror
# ERR Operation against a key holding the wrong kind of value
No estoy seguro de dónde ir. He eliminado la clave $ redis.del ('datos') para asegurarme de que ese no sea el problema.
espera que usted pueda asesorar, Lee
El póster parece querer un dict ruby almacenado como una cadena serializada, pero obtengo el mismo error al hacer hset aunque la clave es un hash. ¿Alguien puede adivinar por qué podría ser? – arkanciscan
¡Lo descubrí! No era que estuviera haciendo un HSET en una cadena, sino que estaba haciendo un GET en un hash cuando debería haber estado usando HGETALL. – arkanciscan