@EdsCache(key = “user_prefix”, expire = 120)
public UserDTO getUser(@EdsCacheKey Long id){
return userDao.getUser(id);
}
@EdsCache(key = “user_prefix”, opType = CacheOpEnum.WRITE, expire = 120)
public UserDTO saveUserWithCache(@EdsCacheKey Long id, UserDTO update){
UserDTO ret = userDao.updateUser(id, update);
return ret;
}
public enum CacheOpEnum {
/**
* 读写缓存,如果缓存中有数据,则使用缓存中的数据,如果缓存中没有数据,则加载数据,并写入缓存。
* 只有READ_WRITE模式,才能启用自动加载功能。
*/
READ_WRITE,
/**
* 不读取缓存,直接从数据源中加载最新的数据,并写入缓存。
*/
WRITE,
/**
* 从缓存中读取,空则进行数据加载,但不回写到缓存中。
*/
READ_ONLY,
/**
* 只从数据源加载数据,不读取缓存中的数据,也不写入缓存。
*/
LOAD,
/**
* 只尝试从缓存查询,空也不进行数据加载
*/
READ_CACHE_ONLY,
;
}
本文来自网易实践者社区,经作者陈婷授权发布。