Извините, я новичок в сочетании 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

Мне интересно, как получить значение с помощью этого ключа выше...
Заранее спасибо.

0
William 19 Ноя 2022 в 09:42

1 ответ

О, я только что понял это сам. Оказывается, все значение внутри двойных кавычек является ключом!

Таким образом, правильный способ получить значение:

$ 127.0.0.1:6379>keys *
1) "dataList::SimpleKey []"

$ 127.0.0.1:6379>get "dataList::SimpleKey []"

Надеюсь, это могло помочь вам, если у вас была такая же путаница!

0
William 19 Ноя 2022 в 12:14