Tôi chỉ bắt đầu với Redis with Rails vì vậy đây có thể là một câu hỏi ngớ ngẩn.Lưu HASH vào Redis trên ứng dụng đường ray
Tôi đang cố lưu một băm vào máy chủ redis nhưng khi tôi truy xuất nó chỉ là một chuỗi IE.
hash = {"field" => "value", "field2" => "value2"}
$redis.set('data', hash)
#So collecting the data
@data = $redis.get('data')
Điều này rõ ràng là sai khi trở về dưới dạng chuỗi.
Tôi cũng đã thử lặp một số kết quả và sử dụng hàm hset.
@data.each do |d|
$redis.hset('data', d.field, d.value)
end
# errror
# ERR Operation against a key holding the wrong kind of value
Không biết phải đi đâu. Tôi đã xóa khóa $ redis.del ('dữ liệu') để đảm bảo rằng đó không phải là vấn đề.
Hy vọng bạn có thể tư vấn, Lee
Áp phích dường như muốn một dict ruby được lưu trữ dưới dạng chuỗi được xê-ri hóa, nhưng tôi gặp lỗi tương tự khi thực hiện hset mặc dù khóa là băm. Bất cứ ai có thể đoán tại sao có thể? – arkanciscan
Đã tìm ra! Nó không phải là tôi đang làm một HSET trên một chuỗi, đó là sau đó tôi đã làm một GET trên một băm khi tôi nên đã được sử dụng HGETALL. – arkanciscan