Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 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, трябва да персонализирате RedisTemplate bean, за да замени оригиналния bean, инжектиран от springboot:



(Край)




Предишен:Основното ниво гледа на таланта, средното ниво на добродетелта, а на най-висшето ниво – на ума
Следващ:Не успях да заредя файлове или асембли от решения на Microsoft.Web.Infrastructure
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com