ホームページ > データベース > Redis > Springboot に統合された Redis インスタンスの分析

Springboot に統合された Redis インスタンスの分析

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2023-06-03 19:07:02
転載
1020 人が閲覧しました

redis pom ファイルのインポート

1

2

3

4

<dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-data- redis</artifactId>

</dependency>

ログイン後にコピー

redis 設定の書き込み

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

spring:

  redis:

    password:

    port: 6379

    host: localhost

    database: 0

    jedis:

      pool:

        ## 连接池最大连接数(使用负值表示没有限制)

        #spring.redis.pool.max-active=8

        max-active: 8

        ## 连接池最大阻塞等待时间(使用负值表示没有限制)

        #spring.redis.pool.max-wait=-1

        max-wait: -1

        ## 连接池中的最大空闲连接

        #spring.redis.pool.max-idle=8

        max-idle: 8

        ## 连接池中的最小空闲连接

        #spring.redis.pool.min-idle=0

        min-idle: 0

      ## 连接超时时间(毫秒)

    lettuce:

      shutdown-timeout: 0

ログイン後にコピー

springConfig ファイルの書き込み

ストレージにはシリアル化が必要なので、redis のシリアル化メソッドを設定する必要があります。構成されていない場合、キーと値の両方がデフォルトで StringRedisSerializer を使用します。これは String 型データの保存にのみ使用できるため、一般的に使用される型を構成する必要があります。 同時に、Java エンティティ クラスも Serializable インターフェイスを継承する必要があります

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

@Configuration

public class RedisConfig {

 

    @Bean

    public RedisTemplate<String , Object> redisTemplate(RedisConnectionFactory factory){

        RedisTemplate<String, Object> template = new RedisTemplate<>();

        template.setConnectionFactory(factory);

 

        Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);

        ObjectMapper om = new ObjectMapper();

        om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);

        om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);

//        om.activateDefaultTyping(LaissezFaireSubTypeValidator.instance, ObjectMapper.DefaultTyping.NON_FINAL, JsonTypeInfo.As.PROPERTY);

        jackson2JsonRedisSerializer.setObjectMapper(om);

 

        StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();

        // key采用String的序列化方式

        template.setKeySerializer(stringRedisSerializer);

        // hash的key也采用String的序列化方式

        template.setHashKeySerializer(stringRedisSerializer);

        // value序列化方式采用jackson

        template.setValueSerializer(jackson2JsonRedisSerializer);

        // hash的value序列化方式采用jackson

        template.setHashValueSerializer(jackson2JsonRedisSerializer);

        template.afterPropertiesSet();

        return template;

    }

 

}

ログイン後にコピー

redis のテスト

この手順の前に、接続されている Redis サービスが開始されました

1

2

3

4

5

6

7

@Autowired

    private RedisTemplate<String , Object> redisTemplate;

@Test

    public void testSelect() throws SQLException {

        redisTemplate.opsForValue().set("qqq",userMapper.findByUname("zengkaitian"));

        System.out.println("redis中获取的:"+redisTemplate.opsForValue().get("qqq"));

    }

ログイン後にコピー

テスト結果
Springboot に統合された Redis インスタンスの分析

以上がSpringboot に統合された Redis インスタンスの分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート