#redis
Вопрос:
Теперь я храню данные списка с идентификаторами статей, теперь я использую lrange для получения списка идентификаторов статей. затем, во-вторых, я хочу запросить статью из redis(я также кэшировал горячую статью в redis), есть ли способ использовать в запросе идентификатор статьи? или получите статью, подобную этой:
for(long id in ids){
redis.get(id)
}
этот способ может получить доступ к redis n раз, лучшим способом может быть только один раз, чтобы получить всю статью. подобный этому:
redis.get(ids)
доступ только один раз.
Ответ №1:
Вы можете использовать MGET
для получения значений для списка ключей, который возвращает значение null, если ключ не найден.
Например
MGET article_1 article_2 article_3 article_4 вернет 4 статьи в том же порядке
Output: Article1, Article2, Article3, Article4
Например, если article_3 отсутствует, он все равно вернет 4 элемента, но 3-й будет равен нулю.
Output: Article1, Article2, null, Article4
Ключ MGET [ключ …] Доступно с 1.0.0.
Временная сложность: O(N) , где N — количество ключей для извлечения.
Возвращает значения всех указанных ключей. Для каждого ключа, который не содержит строкового значения или не существует, возвращается специальное значение nil. Из-за этого операция никогда не завершается неудачно.