@Service
public class RedisServiceImpl implements RedisService {
@Override
@Cacheable(value = "user", key = "#id") //id=123456,会在redis里存一个key为user::123456的对象,如没有则创建,如有则读取并且不会走业务代码,直接返回对象
public User getUser(String id) {
System.out.println("模拟了数据库查找"+id);
User user = new User();
user.setId(id);
user.setName("张三");
user.setAge(20);
user.setSex("男");
return user;
}
@Override
@CachePut(value = "user", key = "#user.id") //id=123456,更新key为user::123456的对象
public User setUser(User user) {
System.out.println("模拟了数据库存入");
return user;
}
@Override
@CacheEvict(value = "user", key = "#id") //id=123456,删除key为user::123456的对象
public int deleteUser(String id) {
System.out.println("模拟了数据库删除");
return 1;
}
}