springboot+redis

1、pom

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

2、application.yml

spring: 
  redis:
    # 地址
    host: localhost
    # 端口,默认为6379
    port: 6379
    # 密码
    password:
    # 连接超时时间
    timeout: 30s
    lettuce:
      pool:
        # 连接池中的最小空闲连接
        min-idle: 0
        # 连接池中的最大空闲连接
        max-idle: 8
        # 连接池的最大数据库连接数
        max-active: 8
        # #连接池最大阻塞等待时间(使用负值表示没有限制)
        max-wait: -1ms

3、配置RedisConfiguration

@Configuration
public class RedisConfiguration extends CachingConfigurerSupport {
    private Duration timeToLive = Duration.ZERO;
    public void setTimeToLive(Duration timeToLive) {
        this.timeToLive = timeToLive;
    }

    @Bean
    public CacheManager cacheManager(RedisConnectionFactory factory) {
        RedisSerializer<String> redisSerializer = new StringRedisSerializer();
        Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);

        //解决查询缓存转换异常的问题
        ObjectMapper om = new ObjectMapper();
        om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
        om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
        jackson2JsonRedisSerializer.setObjectMapper(om);

        // 配置序列化(解决乱码的问题)
        RedisCacheConfiguration config = RedisCacheConfiguration.defaultCacheConfig()
                .entryTtl(timeToLive)
                .serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(redisSerializer))
                .serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(jackson2JsonRedisSerializer))
                .disableCachingNullValues();

        RedisCacheManager cacheManager = RedisCacheManager.builder(factory)
                .cacheDefaults(config)
                .build();
        return cacheManager;
    }

}

4、实现类

@Cacheable(value = "showDeviceInfo",key = "#deviceInfoSelectDto+'-'+#deviceInfoSelectDto.current+'-'+#deviceInfoSelectDto.size")
@CacheEvict(value = {"showDeviceInfo"},key = "#deviceInfoSelectDto.current+'-'+#deviceInfoSelectDto.size",allEntries = true)

5、启动类

@EnableCaching //开启缓存注解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SpringbootRedis是常见的企业级开发系统中使用的技术。Springboot是一个用于快速开发基于Java的应用程序的框架,它简化了配置和部署的过程,提供了很多开箱即用的功能和扩展性。而Redis则是一种高性能的键值存储数据库,它支持各种数据结构和功能,如缓存、消息队列和分布式锁等。 在使用SpringbootRedis开发企业级系统时,可以利用Redis作为缓存来提高系统的性能和响应速度。通过将频繁访问的数据存储在Redis中,可以减少对数据库的访问次数,从而减轻数据库的负载。同时,Redis还提供了一些特有的功能,如发布/订阅机制和事务支持,可以帮助实现系统中的一些复杂业务逻辑。 在项目中集成SpringbootRedis可以通过引入相关的依赖和配置文件来实现。在pom.xml文件中添加相关的依赖,如spring-boot-starter-data-redis和jedis等,然后在application.properties或application.yml文件中配置Redis的连接信息和其他相关配置。 在Springboot中使用Redis可以通过注入RedisTemplate或StringRedisTemplate来进行操作。RedisTemplate提供了更丰富的操作接口,可以直接对各种类型的数据进行读写操作。而StringRedisTemplate则更加简化,主要用于对字符串类型的数据进行操作。 总而言之,SpringbootRedis的结合可以为企业级开发系统带来很多好处,包括提高系统性能、简化开发过程和实现一些复杂的业务逻辑。通过合理使用这两个技术,可以构建出高效、稳定和可扩展的企业级应用系统。<span class="em">1</span> #### 引用[.reference_title] - *1* [Java企业报表管理系统源码](https://download.csdn.net/download/m0_55416028/88269629)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值