Redis Data Musim Semi - RedisTemplate

Saat ini saya menggunakan RedisTemplate dari Spring Data Redis. Ini memiliki satu StringRedisTemplate default untuk operasi string.

Tetapi jika saya memiliki objek seperti Car, CreditCard, House,....dll. Apakah saya harus membuat beberapa template redis dengan serializer yang sesuai?

RedisTemplate<String, Car>
RedisTemplate<String, CreditCard>
RedisTemplate<String, House>

Apa praktik terbaiknya?


person RamPrakash    schedule 01.07.2021    source sumber


Jawaban (1)


Definisikan objek redisTemplate bean seperti di bawah ini. spring redisTemplate serializer nilai default adalah JdkSerialization. Anda dapat mengubahnya dengan Jackson2Json atau GenericJackson2Json.

Jackson2Json dan GenericJackson2Json menyimpan nilai sebagai json (dapat dibaca)

inilah perbedaannya -› https://www.programmersought.com/article/84233376165/

    @Bean
    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
        final RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
        redisTemplate.setConnectionFactory(redisConnectionFactory);
        redisTemplate.setKeySerializer(new StringRedisSerializer());
        redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
        return redisTemplate;
    }
person omer    schedule 01.07.2021
comment
Terima kasih atas jawabannya. Jadi menurut Anda, simpan semuanya sebagai objek? kehilangan tipenya? - person RamPrakash; 01.07.2021
comment
Anda sudah mengetahui tipe nilai kunci, bisa menggunakan seperti ini final Car carValue = redisTemplate.opsForValue().get("carKey"); final House houseValue = redisTemplate.opsForValue().get("houseKey"); - person omer; 02.07.2021