spring|springboot使用redis(从配置到实战)( 二 )
存的过期时间.redisTemplate则是比较常见的我们设置了RedisTemplate因此在代码里面我们也可以通过@Autowired注入RedisTemplate来操作redis.
使用接下来就是如何使用注解啦这一步反而是最简单的.其实只用到了两个注解@Cacheable和@CacheEvict.第一个注解代表从缓存中查询指定的key如果有从缓存中取不再执行方法.如果没有则执
行方法并且将方法的返回值和指定的key关联起来放入到缓存中.而@CacheEvict则是从缓存中清除指定的key对应的数据.使用的代码如下:
```
//有参数
@Cacheable(value=https://mparticle.uc.cn/"thisredis\" key=\"'users_'+#id\")
public User findUser(Integer id) {
User user = new User();
user.setUsername(\"hlhdidi\");
user.setPassword(\"123\");
user.setUid(id.longValue());
System.out.println(\"log4j2坏啦?\");
logger.info(\"输入user用户名:{密码:{\"user.getUsername()user.getPassword());
return user;
@CacheEvict(value=https://mparticle.uc.cn/"thisredis\" key=\"'users_'+#id\"condition=\"#id!=1\")
public void delUser(Integer id) {
// 删除user
System.out.println(\"user删除\");
//无参数
@RequestMapping(\"/get\")
@Cacheable(value=https://mparticle.uc.cn/"thisredis\")
@ResponseBody
public List<User> xx(){
return userMapper.selectAll();
@RequestMapping(\"/get3\")
@CacheEvict(value=https://mparticle.uc.cn/"thisredis\")
@ResponseBody
public String xx3(){
return \"ok\";
```
可以看出我们用@Cacheable的value属性指定具体缓存并通过key将其放入缓存中.这里key非常灵活支持spring的el表达式可以通过方法参数产生可变的key(见findUser方法)也可以通过其指定在什么情况下使用/不使用缓存(见delUser方法).
作者:Python研究者
链接:https://www.cnblogs.com/chenlove/p/15196475.html
- iPhone|美媒:iPhone15确认使用USB - C口,今年升级有遗憾!
- 中兴|使用中兴Axon40UItra之后,明白屏幕完美,却在市场上遇冷的原因
- 互联互通|哪些无人机适合新手使用?从普宙O2到大疆Mini 3 Pro,一文读懂
- 华为|越来越全面性的手机,过度使用,是否会损坏其内存卡机速度
- 如何实现一根网线连接路由器,既能上网又可以使用itv呢?
- iPhone 13深度使用半年,体验虽然流畅,但两个缺点却让人无奈!
- 电饭锅第一次使用,有什么性能检测法子?
- 如何在 Notion 类产品中使用卡片笔记写作法:理念与实践
- B站“特殊版”来了!全程使用无广告,比开会员还给力
- 马克·扎克伯格|扎克伯格宣布打造元宇宙钱包,计划让10亿人使用元宇宙
