Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 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