//package com.ltkj.tduck.utils; // //import cn.hutool.core.convert.Convert; //import cn.hutool.core.util.ObjectUtil; //import cn.hutool.core.util.StrUtil; //import lombok.extern.slf4j.Slf4j; //import org.apache.commons.compress.utils.Lists; //import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.cache.Cache; //import org.springframework.cache.annotation.EnableCaching; //import org.springframework.cache.ehcache.EhCacheCacheManager; //import org.springframework.stereotype.Component; // //import java.util.List; // ///** // * @author : tduck // * @description : 基于ehcache实现 // * @create : 2022/01/06 10:40 // **/ //@Component //@Slf4j //@EnableCaching //public class CacheUtils { // private final String ETERNAL_CACHE_NAME = "eternal_cache"; // private final String TEMP_CACHE_NAME = "temp_cache"; // @Autowired // private EhCacheCacheManager cacheManager; // // /** // * 保存到Cache // */ // public void save(String key, String value) { // cacheManager.getCache(ETERNAL_CACHE_NAME).put(key, value); // } // // /** // * 获取 // * // * @param key // */ // public String get(String key) { // Cache.ValueWrapper valueWrapper = cacheManager.getCache(ETERNAL_CACHE_NAME).get(key); // if (ObjectUtil.isNotNull(valueWrapper) && ObjectUtil.isNotNull(valueWrapper.get())) { // return valueWrapper.get().toString(); // } // return null; // } // // // /** // * 自增 // * // * @param key // * @param number // * @return // */ // public Long incr(String key, Integer number) { // String v = get(key); // if (StrUtil.isBlank(v)) { // v = "0"; // } // long finalValue = Convert.toLong(v) + number; // save(key, String.valueOf(finalValue)); // return finalValue; // } // // // /** // * 添加到集合缓存 // * // * @param key // * @param value // */ // public void addList(String key, Object value) { // List coll = this.getList(key, Object.class); // coll.add(value); // cacheManager.getCache(TEMP_CACHE_NAME).put(key, JsonUtils.objToJson(coll)); // } // // // /** // * 从集合中移除 // * // * @param key // * @param value // */ // public void removeList(String key, Object value) { // List coll = this.getList(key, Object.class); // coll.remove(value); // cacheManager.getCache(TEMP_CACHE_NAME).put(key, JsonUtils.objToJson(coll)); // } // // /** // * 获取集合 // * // * @param key // */ // public List getList(String key, Class classz) { // String v = get(key); // if (ObjectUtil.isNotNull(v)) { // return JsonUtils.jsonToList(v, classz.getClass()); // } // return Lists.newArrayList(); // } // // // /** // * 临时保存 默认5min // */ // public void tempSave(String key, String value) { // cacheManager.getCache(TEMP_CACHE_NAME).put(key, value); // } // // /** // * 获取临时存储变量 // * // * @param key // */ // public String getTemp(String key) { // Cache.ValueWrapper valueWrapper = cacheManager.getCache(TEMP_CACHE_NAME).get(key); // if (ObjectUtil.isNotNull(valueWrapper) && ObjectUtil.isNotNull(valueWrapper.get())) { // return valueWrapper.get().toString(); // } // return null; // } // // public void removeTemp(String key) { // cacheManager.getCache(TEMP_CACHE_NAME).evict(key); // } // // //}