使用redis缓存
2020-04-03 07:38
946 查看
使用redis缓存
- 首先加入redis依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>
2.配置redis缓存地址
3.在全局入口开启缓存注解
4.编写chache配置类
@Configuration public class MyRedisConfig { @Bean public RedisCacheManager employeeRedisCacheManager(RedisConnectionFactory redisConnectionFactory) { RedisCacheConfiguration cacheConfiguration = RedisCacheConfiguration.defaultCacheConfig() .entryTtl(Duration.ofDays(1)) // 设置缓存过期时间为一天 .disableCachingNullValues() // 禁用缓存空值,不缓存null校验 .serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(new GenericJackson2JsonRedisSerializer())); // 设置CacheManager的值序列化方式为json序列化,会加入@Class属性 return RedisCacheManager.builder(redisConnectionFactory).cacheDefaults(cacheConfiguration).build(); // 设置默认的cache组件 } }
5.配置完可以在service中的业务逻辑使用注解进行缓存
public class EmployeeService { @Autowired EmployeeDao employeeDao; /** * 将方法的运行结果进行缓存 * @Cacheable(cacheNames = {"emp"},condition = "#id>0") 设置缓存的区域块,以及设置id是多少才缓存 * 查询结果后以key的方式存入缓存 * @param id * @return */ @Cacheable(cacheNames = {"emp"},condition = "#id>0",key="#id") public Employee getById(Integer id){ System.out.println("查询"+id+"号员工"); return employeeDao.getById(id); } /** * 缓存会把缓存记录存放到cachenames下面,以key value 的方式存放 * key设置缓存的key * 更新key的缓存 用户更新 新增 * @param employee */ @CachePut(cacheNames = {"emp"},key="#employee.id") public void update(Employee employee){ employeeDao.update(employee); } /** * @CacheEvict(cacheNames = {"emp"},key="#id") 指定缓存块是哪个 key指定删除那个缓存 * 删除数据并删除该id的缓存 * @param id */ @CacheEvict(cacheNames = {"emp"},key="#id") public void delete(Integer id){ employeeDao.delete(id); } }
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 总结:如何使用redis缓存加索引处理数据库百万级并发
- 如何使用redis缓存加索引处理数据库百万级并发
- ~ 使用redis缓存数据需要注意的问题以及个人的一些思考和理解
- 使用redis缓存加索引处理数据库百万级并发
- Redis缓存的介绍和使用场景
- spring boot注解方式使用redis缓存操作示例
- 在java中使用redis缓存
- node使用redis缓存
- SpringBoot--使用redis缓存(1)
- 以注解的方式使用redis缓存得用法@CachePut , @CacheEvict, @Cacheable
- Spring+Redis的部署与Redis缓存使用示例
- SpringBoot使用Redis缓存
- 使用AOP 实现Redis缓存注解,支持SPEL
- ABP从入门到精通(3):aspnet-zero-core 使用Redis缓存
- 使用redis缓存数据需要注意的问题以及个人的一些思考和理解
- SpringBoot使用Redis缓存
- 使用Redis缓存同步,从缓存中存取数据的一些使用
- 使用redis缓存数据需要注意的问题以及个人的一些思考和理解
- 高可用Redis(十三):Redis缓存的使用和设计
- 分布式系统架构——Redis缓存的安装和使用