Извините, я новичок в сочетании redis
и springboot @cacheable
.
Я просто сохранил некоторые данные с помощью springboot @cacha
в Redis, а затем попытался проверить значение из redis-cli
. Однако я не мог получить значение с помощью ключа, оно всегда равно нулю, хотя API может получить значение из Redis.
Вот мой код:
// conde in springboot controller
@GetMapping("/")
@ResponseBody
@Cacheable(value = "dataList")
public SomeObject getDataList(SomeParameters someParameters){ ... }
# code I used to check the data in redis
$ 127.0.0.1:6379>keys *
1) "dataList::SimpleKey []"
$ 127.0.0.1:6379>llen dataList
0
$ 127.0.0.1:6379>type dataList
none
$ 127.0.0.1:6379>type dataList::SimpleKey
none
Мне интересно, как получить значение с помощью этого ключа выше...
Заранее спасибо.
1 ответ
О, я только что понял это сам. Оказывается, все значение внутри двойных кавычек является ключом!
Таким образом, правильный способ получить значение:
$ 127.0.0.1:6379>keys *
1) "dataList::SimpleKey []"
$ 127.0.0.1:6379>get "dataList::SimpleKey []"
Надеюсь, это могло помочь вам, если у вас была такая же путаница!
Похожие вопросы
Новые вопросы
redis
Redis - это хранилище структуры данных в памяти с открытым исходным кодом (по лицензии BSD), используемое в качестве базы данных, кэша и посредника сообщений. Он поддерживает структуры данных, такие как строки, хэши, списки, наборы, отсортированные наборы с запросами диапазона, растровые изображения, гиперлогоги, геопространственные индексы с запросами радиуса и потоками. Он также предоставляет возможности паб-саб. Используйте этот тег для вопросов, связанных с Redis и системой памяти.