Rumah  >  Artikel  >  pangkalan data  >  Bagaimana integrasi SpringBoot menggunakan Redis

Bagaimana integrasi SpringBoot menggunakan Redis

PHPz
PHPzke hadapan
2023-05-28 12:18:33645semak imbas

    SpringBoot disepadukan menggunakan redis

    Jedis ialah klien berorientasikan Java yang dilancarkan secara rasmi oleh Redis, menyediakan banyak antara muka untuk panggilan bahasa Java. Ia boleh dimuat turun dari laman web rasmi Redis adalah sebahagian daripada keluarga musim bunga Ia menyediakan akses kepada perkhidmatan redis melalui konfigurasi mudah dalam aplikasi srping, dan sangat merangkumi pakej pembangunan yang mendasari reids (Jedis, JRedis,. dan RJC). RedisTemplate menyediakan pelbagai operasi redis

    spring-data-redis menyediakan fungsi berikut untuk jedis:

    1. Pengurusan automatik bagi kumpulan sambungan, memberikan kapsul yang sangat terkapsul Kelas "RedisTemplate ”.

    2. telah dikelaskan dan dikapsulkan untuk sejumlah besar API dalam klien jedis, dan jenis operasi yang sama dirangkumkan ke dalam antara muka operasi.

    ValueOperations : Operasi K-V yang ringkas

    SetOperations: operasi data jenis set

    ZSetOperations: operasi data jenis zset

    HashOperations: operasi data jenis peta

    ListOperations: Untuk operasi data jenis senarai

    3.

    4. Menyediakan pelbagai strategi pilihan (RedisSerializer) untuk "serialisasi/deserialisasi" data

    JdkSerializationRedisSerializer: Akses senario untuk objek POJO, menggunakan JDK sendiri untuk Mekanisme siri.

    StringRedisSerializer: Apabila Kunci atau nilai ialah rentetan, jujukan bait data dikodkan ke dalam rentetan mengikut set aksara yang ditentukan, iaitu "String(bait, charset) baharu" dan "string.getBytes(set aksara) )" enkapsulasi langsung. adalah strategi yang paling ringan dan cekap.

    JacksonJsonRedisSerializer: Alat jackson-json menyediakan keupayaan penukaran antara javabean dan json Ia boleh mensirikan kejadian pojo ke dalam format json dan menyimpannya dalam redis, dan juga boleh menukar data format json kepada kejadian pojo.

    Bina

    1 Import pakej balang

    Bagaimana integrasi SpringBoot menggunakan Redis

    <dependency> 
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-redis</artifactId> 
    </dependency>

    Bagaimana integrasi SpringBoot menggunakan Redis

    2 >

    Bagaimana integrasi SpringBoot menggunakan Redis

    Bagaimana integrasi SpringBoot menggunakan Redis

    spring: 
     redis: 
     	host: 192.168.31.100 
     	port: 6379
        password: 111 
        database: 0 
        pool: max-active: 8 # 连接池最大连接数(使用负值表示没有限制) 
        	max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制)
    		max-idle: 8 # 连接池中的最大空闲连接 
    		min-idle: 0 # 连接池中的最小空闲连接 
    		timeout: 5000ms # 连接超时时间(毫秒)

    Tambah konfigurasi di atas di bawah spring dalam fail application.yml

    3. Tambah kelas konfigurasi RedisConfig

    Bagaimana integrasi SpringBoot menggunakan Redis

    package com.ffyc.back.demo.config;
    
    import com.fasterxml.jackson.annotation.JsonAutoDetect;
    import com.fasterxml.jackson.annotation.JsonTypeInfo;
    import com.fasterxml.jackson.annotation.PropertyAccessor;
    import com.fasterxml.jackson.databind.DeserializationFeature;
    import com.fasterxml.jackson.databind.ObjectMapper;
    import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.data.redis.connection.RedisConnectionFactory;
    import org.springframework.data.redis.core.RedisTemplate;
    import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
    import org.springframework.data.redis.serializer.StringRedisSerializer;
    @Configuration
    public class RedisConfig {
        /**
         * 序列化键,值
         * @param connectionFactory
         * @return
         */
        @Bean
        public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connectionFactory) {
            RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
            redisTemplate.setConnectionFactory(connectionFactory);
            Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<Object>(Object.class);
            StringRedisSerializer redisSerializer = new StringRedisSerializer();
            redisTemplate.setKeySerializer(redisSerializer);
            redisTemplate.setHashKeySerializer(redisSerializer);
            redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
            redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);
            return redisTemplate;
        }
    }

    Tambah konfigurasi ini dalam pakej konfigurasi

    Fungsi kelas konfigurasi ini adalah untuk menyerikan data yang akan dihantar oleh backend ke json tiada konfigurasi sedemikian, bahagian belakang akan Jika format yang diluluskan tidak sepadan dengan bahagian redis, aksara bercelaru akan muncul

    4 Inject RedisTemplate

    Bagaimana integrasi SpringBoot menggunakan Redis

    Bagaimana integrasi SpringBoot menggunakan Redis

    Bagaimana integrasi SpringBoot menggunakan Redis

    Suntikan di mana anda perlu menggunakannya dan anda boleh menggunakannya

    5. Uji dan gunakan

    Bagaimana integrasi SpringBoot menggunakan Redis

    Contoh penggunaan:

    (1)

    Bagaimana integrasi SpringBoot menggunakan Redis

    (2)

    Bagaimana integrasi SpringBoot menggunakan Redis

    Atas ialah kandungan terperinci Bagaimana integrasi SpringBoot menggunakan Redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan:
    Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam