Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 14268|Ответ: 0

[Источник] 【Практический бой】Интеграция Spring Boot Tutorial Redis

[Скопировать ссылку]
Опубликовано 11.03.2019 16:48:17 | | | |
Исключение решается инжектором RedisTemplate в SpringBoot
https://www.itsvse.com/thread-7224-1-1.html
(Источник: Architect_Programmer)
Создание ошибки с названием 'stringRedisTemplate', определённым в...
https://www.itsvse.com/thread-7225-1-1.html
(Источник: Architect_Programmer)

Окружающая среда:Spring boot 2.1.1.RELEASE
pom.xml Добавить ссылку, настроив её следующим образом:



В application.properties настройте его следующим образом:


Давайте поговорим об изменениях конфигурации spring-boot-starter-data-redis
https://www.itsvse.com/thread-7207-1-1.html
(Источник: Architect_Programmer)

Напишите тестовый контроллер:


Мы получаем доступ к контроллеру через браузер, а затем просматриваем кэш через клиент 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
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com