ホームページ  >  記事  >  データベース  >  SpringBoot 統合で Redis を使用する方法

SpringBoot 統合で Redis を使用する方法

PHPz
PHPz転載
2023-05-28 12:18:33700ブラウズ

    SpringBoot は redis を使用して統合します

    Jedis は、Redis によって正式に開始された Java 用クライアントであり、Java 言語呼び出し用の多くのインターフェイスを提供します。 Redis 公式 Web サイトからダウンロードできます。Spring-data-redis は Spring ファミリの一部です。これは、srping アプリケーションの簡単な構成を通じて Redis サービスへのアクセスを提供し、基盤となる開発パッケージ (Jedis、JRedis、 RedisTemplate は、さまざまな Redis 操作を提供します。

    spring-data-redis は、jedis に次の機能を提供します。

    1. 接続プールの自動管理は、高度にカプセル化された " RedisTemplate "Class.

    2. jedis クライアント内の多数の API を分類してカプセル化し、同じ種類の操作を操作インターフェイスにカプセル化します。

    ValueOperations : 単純な K-V 操作

    SetOperations: set 型データ操作

    ZSetOperations: zset 型データ操作

    HashOperations: マップ型データ操作用

    ListOperations: リスト タイプのデータ操作の場合

    #3. トランザクション操作をカプセル化し、コンテナー制御を行います。

    4. データの「シリアル化/逆シリアル化」のために、さまざまなオプションの戦略 (RedisSerializer) が提供されています。

    JdkSerializationRedisSerializer: シリアル化メカニズムに JDK 自体を使用する、POJO オブジェクトのアクセス シナリオ。

    StringRedisSerializer: キーまたは値が文字列の場合、データのバイト シーケンスは、指定された文字セット ("new String(bytes, charset)" および "string.getBytes(charset)" に従って文字列にエンコードされます。 ))" 直接カプセル化。は最も軽量で効率的な戦略です。

    JacksonJsonRedisSerializer: jackson-json ツールは、javabean と json 間の変換機能を提供し、pojo インスタンスを json 形式にシリアル化して redis に保存したり、json 形式のデータを pojo インスタンスに変換したりすることもできます。

    Build

    1. jar パッケージをインポートします

    SpringBoot 統合で Redis を使用する方法

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

    SpringBoot 統合で Redis を使用する方法

    2. 接続 Redis を構成します

    SpringBoot 統合で Redis を使用する方法

    SpringBoot 統合で 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 # 连接超时时间(毫秒)

    application.yml ファイルの spring の下に上記の設定を追加します

    3. 設定クラス RedisConfig を追加します

    SpringBoot 統合で 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;
        }
    }

    この構成を構成パッケージに追加します

    この構成クラスの機能は、バックエンドによって json に渡されるデータをシリアル化することです。そのような設定はありません、バックエンド渡された形式が Redis 側と一致しない場合、文字化けが表示されます

    4. Inject RedisTemplate

    SpringBoot 統合で Redis を使用する方法

    SpringBoot 統合で Redis を使用する方法

    SpringBoot 統合で Redis を使用する方法##使用する必要がある場所に挿入すると、使用できるようになります

    5. テストして使用します

    SpringBoot 統合で Redis を使用する方法使用例:

    (1)

    SpringBoot 統合で Redis を使用する方法(2)

    以上がSpringBoot 統合で Redis を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    声明:
    この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。