博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring cache 使用说明
阅读量:6813 次
发布时间:2019-06-26

本文共 2129 字,大约阅读时间需要 7 分钟。

 

package org.cheng.user.client.service;import java.util.HashMap;import java.util.Map;import org.cheng.user.client.entity.User;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.cache.Cache;import org.springframework.cache.CacheManager;import org.springframework.cache.annotation.CacheConfig;import org.springframework.cache.annotation.CacheEvict;import org.springframework.cache.annotation.CachePut;import org.springframework.cache.annotation.Cacheable;import org.springframework.stereotype.Service;/** * 统一命名缓存 名称 * @author Cheng */@CacheConfig(cacheNames = { "user" })@Servicepublic class UserService {        @Autowired    private CacheManager cacheManager;        /**     * 单个命名缓存名称     * sync 默认为false 为true 需要同步等待     * @param id     * @return     */    @Cacheable(cacheNames = "user", key = "#id",sync = false)    public User get(Integer id) {        System.out.println("--get---");        User user = new User();        user.setId(id);        return user;    }    /**     * 按key存储     * 前置存储条件 condition 为true 存储     * 后置执行条件 unless  为false 存储     *      * @param user     * @return     */    @CachePut(key = "#user.id", condition = "#user.id<10000", unless = "#result.name.length() < 3")    public User save(User user) {        user.setName("name - " + user.getId());        return user;    }    /**     * 按key删除     *      * @param id     * @return     */    @CacheEvict(key = "#id")    public String del(Integer id) {        System.out.println("--del---");        return String.valueOf(id);    }    /**     * 清除全部     */    @CacheEvict(allEntries = true)    public void removeAll() {    }        /**     * 返回所有的缓存信息     * @return     */    public Map
cache() { Map
map = new HashMap<>(); for(String name:cacheManager.getCacheNames()) { map.put(name, cacheManager.getCache(name)); } return map; }}

 

 

 

参考文献:

https://docs.spring.io/spring/docs/5.1.6.RELEASE/spring-framework-reference/integration.html#cache

https://www.cnblogs.com/OnlyCT/p/7845660.html#t4

 

转载于:https://www.cnblogs.com/tusheng/p/10766151.html

你可能感兴趣的文章
1032 Sharing
查看>>
symbolicatecrash App Bug 分析工具
查看>>
深入浅出Hadoop: 高效处理大数据
查看>>
云南满泽生物科技有限公司 满泽玛卡玛咖精片 东革阿里 奶昔
查看>>
转载——yum源的超级简单配置
查看>>
POJ 2135Farm Tour--MCMF
查看>>
【转帖】MATLAB中用FDATool设计滤波器及使用
查看>>
ajax ----进度条的原理
查看>>
每周个人进度总结06
查看>>
ACM-ICPC 2018 徐州赛区网络预赛 J Maze Designer(最大生成树+LCA)
查看>>
为什么要编写轻量级的View Controller??
查看>>
CRC校验
查看>>
ruby array 额
查看>>
关于Quartz 2D绘图的简单使用
查看>>
数组求和
查看>>
T2_两数相加
查看>>
celery
查看>>
【Ajax】后台验证用户输入的验证码是否与随机生成的验证码一直
查看>>
C#Excel上传批量导入sqlserver
查看>>
In App Purchases(IAP 应用程序內购买): 完全攻略
查看>>