Di Spring Boot Redis, bagaimana menyelesaikan masalah kod yang kembali?
Punca akar dan penyelesaian untuk kaedah kekunci () pada redis boot musim bunga untuk mengembalikan kod garbled
Apabila mengintegrasikan REDIS dalam aplikasi boot musim bunga, masalah Garbled sering berlaku apabila menggunakan kaedah redisTemplate.keys()
untuk mendapatkan nilai utama. Ini terutamanya kerana kaedah serialization utama lalai redistemplate tidak sepadan dengan jenis kunci sebenar. Artikel ini akan menganalisis masalah ini secara terperinci dan menyediakan penyelesaian yang berkesan.
Penyebab utama masalahnya ialah pemaju biasanya menggunakan serializers adat (seperti FastJson2JsonRedisSerializer
) untuk bersiri nilai redis, tetapi mengabaikan siri kunci. Kaedah redisTemplate.keys()
secara langsung menggunakan mekanisme bersiri Redis sendiri, yang akan menyebabkan kod gadbled apabila kunci bukan jenis rentetan mudah.
Penyelesaian: Sediakan serializer utama untuk redistemplate dengan betul
Kunci untuk menyelesaikan masalah ini adalah dengan betul menetapkan serializer utama untuk RedisTemplate
untuk memastikan semua kunci bersiri ke dalam rentetan. Berikut adalah contoh yang diubahsuai kelas konfigurasi REDIS, menggunakan StringRedisSerializer
untuk mengayuh kekunci dan menggunakan FastJson2JsonRedisSerializer
untuk bersiri nilai:
@Configuration kelas awam Redisconfig { @Bean Redistemplate awam<string object> redistemplate (redisconnectionFactory redisconnectionFactory) { Redistemplate<string object> redistemplate = redistemplate baru (); redistemplate.setConnectionFactory (redisconnectionFactory); Fastjson2jsonredisserializer<object> fastjsonRedisserializer = baru fastjson2jsonredisserializer (object.class); redistemplate.setValueserializer (fastjsonRedisserializer); redistemplate.setKeySerializer (baru StringRedisserializer ()); mengembalikan semula; } }</object></string></string>
Dalam konfigurasi ini, kami menggunakan StringRedisSerializer
sebagai keySerializer
untuk memastikan bahawa semua kunci bersiri ke dalam rentetan, dengan itu mengelakkan masalah redisTemplate.keys()
kaedah yang mengembalikan kod gadbled. setValueSerializer
digunakan untuk menetapkan Serializer Nilai, FastJson2JsonRedisSerializer
masih digunakan di sini. Kod ini membuang beberapa tetapan berlebihan dari konfigurasi asal, menjadikan konfigurasi lebih mudah dan mudah difahami.
Melalui konfigurasi di atas, kaedah redisTemplate.keys()
akan mengembalikan kunci jenis rentetan yang betul, dengan itu menyelesaikan masalah yang berkesan dan memastikan bahawa nilai kunci Redis disimpan dan dibaca dalam format yang betul.
Atas ialah kandungan terperinci Di Spring Boot Redis, bagaimana menyelesaikan masalah kod yang kembali?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











Bagaimanakah penyelesaian caching Redis menyedari keperluan senarai kedudukan produk? Semasa proses pembangunan, kita sering perlu menangani keperluan kedudukan, seperti memaparkan ...

Laravel 8 menyediakan pilihan berikut untuk Pengoptimuman Prestasi: Konfigurasi Cache: Gunakan Redis ke Pemacu Cache, Fasad Cache, Pandangan Cache, dan Page Page. Pengoptimuman pangkalan data: Menetapkan pengindeksan, gunakan skop pertanyaan, dan gunakan hubungan fasih. Pengoptimuman JavaScript dan CSS: Gunakan Kawalan Versi, Gabungan dan Secrink Aset, Gunakan CDN. Pengoptimuman kod: Gunakan pakej pemasangan komposer, gunakan fungsi pembantu Laravel, dan ikuti piawaian PSR. Pemantauan dan Analisis: Gunakan Pengakap Laravel, gunakan teleskop, memantau metrik aplikasi.

Dalam springboot, gunakan redis untuk objek OAuth2Authorization Cache OAuth2. Dalam aplikasi Springboot, gunakan SpringsecurityoAuth2Authorizationsererver ...

Redis memainkan peranan penting dalam penyimpanan dan pengurusan data, dan telah menjadi teras aplikasi moden melalui pelbagai struktur data dan mekanisme kegigihannya. 1) REDIS menyokong struktur data seperti rentetan, senarai, koleksi, koleksi yang diperintahkan dan jadual hash, dan sesuai untuk logik perniagaan cache dan kompleks. 2) Melalui dua kaedah ketekunan, RDB dan AOF, Redis memastikan penyimpanan yang boleh dipercayai dan pemulihan data yang cepat.

Kaedah tidak responsif penyemak imbas selepas pelayan WebSocket mengembalikan 401. Apabila menggunakan Netty untuk membangunkan pelayan WebSocket, anda sering menghadapi keperluan untuk mengesahkan token. � ...

Aplikasi Exchange OUYI menyokong memuat turun telefon bimbit Apple, lawati laman web rasmi, klik pilihan "Apple Mobile", dapatkan dan pasang di App Store, daftar atau log masuk untuk menjalankan perdagangan cryptocurrency.

Kenapa nilai pulangan kosong apabila menggunakan redistemplate untuk pertanyaan batch? Apabila menggunakan Redistemplate untuk operasi pertanyaan batch, anda mungkin menghadapi hasil yang dikembalikan ...

JDBC ...
