Я пытаюсь загрузить данные из redis db. У меня есть приложение API только рельсы и пытается отобразить данные JSON в соответствии с требованиями.
В настоящее время я могу get
данные из Redis в следующем формате.
[
{
"id": 1,
"name": "Stephenie Meyer",
"created_at": "2018-04-17T07:40:50.417Z",
"updated_at": "2018-04-17T07:40:50.417Z"
},
{
"id": 2,
"name": "V.C. Andrews",
"created_at": "2018-04-17T07:40:50.613Z",
"updated_at": "2018-04-17T07:40:50.613Z"
},
{
"id": 3,
"name": "Sophie Kinsella",
"created_at": "2018-04-17T07:40:50.646Z",
"updated_at": "2018-04-17T07:40:50.646Z"
}
]
Как можно преобразовать это таким образом, чтобы пары значений ключа name
, created
и updated
были хешем для пары id
ключ-значение.
В это
{"id": 1,
{
"name": "Stephenie Meyer",
"created_at": "2018-04-17T07:40:50.417Z",
"updated_at": "2018-04-17T07:40:50.417Z"
}
}
вспомогательный метод для получения данных redis.
def fetch_authors
authors = $redis.get('authors')
if authors.nil?
authors = Author.all.to_json
$redis.set("authors", authors).to_json
$redis.expire("authors", 5.hour.to_i)
end
JSON.load authors
end
И отображение на странице индекса с помощью
def index
@authors = fetch_authors
render json: @authors
end