|
|
Опубликовано 11.03.2019 16:48:17
|
|
|
|

Окружающая среда:Spring boot 2.1.1.RELEASE pom.xml Добавить ссылку, настроив её следующим образом:
В application.properties настройте его следующим образом:
Напишите тестовый контроллер:
Мы получаем доступ к контроллеру через браузер, а затем просматриваем кэш через клиент Redis.
Spring Redis имеет два шаблона — StringRedisTemplate и RedisTemplate; мы тестируем данные через эти два шаблона и вставляем пары ключ-значение itsvse и itsvse2 следующим образом:
Мы вставили одно и то же значение, почему не только формат значения отличается, но и правила генерации ключей разные.(Пост ниже)
Краткий анализ принципов
Посмотрите, что используют сериализация в RedisTemplate и StringRedisTemplate.
Вы можете увидеть, что StringRedisTemplate — это унаследованный RedisTemplate. Затем задайте метод сериализации строк на использование StringRedisSerializer.
Исходный код RedisSerializer.string():
UTF_8 Определение:
Далее посмотрим на код сериализации RedisTemplate, и вы увидите, что по умолчанию используется метод сериализации JDK — JdkSerializationRedisSerializer:
Запрос исходного кода показывает, что RedisTemplate по умолчанию использует JdkSerializationRedisSerializer для сериализации, а StringRedisTemplate — StringRedisSerializer.
Также обратите внимание:Данные обоих не являются распространёнными; Это означает, что StringRedisTemplate может управлять только данными в StringRedisTemplate, а RedisTemplate — только с даными в RedisTemplate.
Это объясняет, что мы просто выполнили операцию сложения через шаблон, и существуют разные форматы данных.
Переключение режима сериализации
Если вы не хотите использовать стандартный метод сериализации, если мы используем fastjson, вам нужно настроить Bean RedisTemplate на замену оригинального bean, внедрённого springboot:
(Конец)
|
Предыдущий:Низы смотрят на таланты, средний — на добродетель, а высший — на разумСледующий:Не удалось загрузить файлы или сборки из решений Microsoft.Web.Infrastructure
|