Redis单机版配置

  • 1、引入坐标

        <!--redis-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
            
            <!-- jackson -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.11.1</version>
        </dependency>
  • 2、修改配置文件

spring:
  #redis 连接信息
  redis:
    host: 127.0.0.1
    port: 6379
    password: password
    timeout: 1000

  • 3、注入RedisTemplate

    /**
     * redis
     */
    @Resource
    private RedisTemplate redisTemplate;

Redis 哨兵模式配置

spring:
  redis:
    sentinel:
      master: mymaster # 注意修改成主节点的名字
      nodes: 127.0.0.1:26379,127.0.0.1:26380,127.0.0.1:26381
    ################ Redis的Java驱动包,使用lettuce连接池 ################
    lettuce:
      pool:
        max-active: 200 # 连接池最大连接数(使用负值表示没有限制)
        max-wait: -1    # 连接池最大阻塞等待时间(使用负值表示没有限制)
        max-idle: 10    # 连接池中的最大空闲连接 (默认为8)
        min-idle: 0     # 连接池中的最小空闲连接

 <!--redis依赖包-->
 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-data-redis</artifactId>
 </dependency>
 <dependency>
     <groupId>org.apache.commons</groupId>
     <artifactId>commons-pool2</artifactId>
 </dependency>

RedisTemplate使用

1、基本操作

redisTemplate.opsForValue();//操作字符串

redisTemplate.opsForHash();//操作hash

redisTemplate.opsForList();//操作list

redisTemplate.opsForSet();//操作set

redisTemplate.opsForZSet();//操作有序set

2、序列化方式

启动类上添加

    /**
     * 修改redis默认序列化
     * @param redisConnectionFactory redis 连接
     * @return redisTemplate
     */
    @Bean
    public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
        RedisTemplate<Object, Object> redisTemplate = new RedisTemplate<>();
        redisTemplate.setConnectionFactory(redisConnectionFactory);

        // 使用Jackson2JsonRedisSerialize 替换默认序列化
        Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);

        ObjectMapper objectMapper = new ObjectMapper();
        objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
        objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);

        jackson2JsonRedisSerializer.setObjectMapper(objectMapper);

        // 设置value的序列化规则和 key的序列化规则
        redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
        redisTemplate.setKeySerializer(new StringRedisSerializer());
        redisTemplate.afterPropertiesSet();
        return redisTemplate;

    }

GitHub 加速计划 / sp / spring-boot
73.97 K
40.4 K
下载
spring-projects/spring-boot: 是一个用于简化Spring应用开发的框架。适合用于需要快速开发企业级Java应用的项目。特点是可以提供自动配置、独立运行和内置的Tomcat服务器,简化Spring应用的构建和部署。
最近提交(Master分支:1 个月前 )
06f0b914 Add `@Order` to `WebSocketMessageConverterConfiguration` so that custom `WebSocketMessageBrokerConfigurer` implementations can be added before or after ours. Fixes gh-42924 15 小时前
c2ab2ddd * pr/42966: Support timeout property for GraphQL over SSE Closes gh-42966 19 小时前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐