跳到主要内容

redis缓存注解用法

jeecg-boot默认集成了redis,集成类在RedisConfig.java,缓存的有效期设置也在这个地方设置。关于缓存具体用法参考下面文档

三种用法

1. 缓存注解@Cacheable

1.1 通过@Cacheable加缓存

   //key的定义参考官方文档
@Cacheable(cacheNames="jeecgDemo", key="#id")

示例:

    /**
* 缓存注解测试: redis
*/
@Cacheable(cacheNames="jeecgDemo", key="#id")
public JeecgDemo getByIdCacheable(String id) {
JeecgDemo t = jeecgDemoMapper.selectById(id);
System.err.println(t);
return t;
}

具体用法参考: https://jeecg.blog.csdn.net/article/details/130499908

1.2 通过@Cacheable加缓存并约定缓存有效时间

3.7.3+ 才支持通过注解约定缓存有效时间

/**
* @Cacheable自定义TTL:#60(单位是秒,目前只支持这一种单位)
* 通过注解方式,指定缓存有效期60秒
*
* 参考博客:https://www.cnblogs.com/h2285409/p/18324396
*/
@Override
@Cacheable(cacheNames = "ceshi:redis:ttl#60", key = "#id")
public JeecgDemo getByIdCacheableTTL(String id) {
JeecgDemo t = jeecgDemoMapper.selectById(id);
System.err.println("---未读缓存,读取数据库---");
System.err.println(t);
return t;
}

1.3 通过@CacheEvict清缓存

@CacheEvict用来标注在需要清除缓存元素的方法或类上的 示例:

@CacheEvict(value="dictCache", allEntries=true)
public Result<SysDict> delete(@RequestParam(name="id",required=true) String id) {

具体用法参考:https://jeecg.blog.csdn.net/article/details/130499908

2. 通过Jeecg封装工具类

   //封装了redis操作各种方法
@Autowired
private RedisUtil redisUtil;

3.通过原生工具类redisTemplate

  @Autowired
private RedisTemplate<String, Object> redisTemplate;
@Autowired
private StringRedisTemplate stringRedisTemplate;

4. RedisConfig.java截图展示