| | |
| | | //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"; |
| | | package com.ltkj.tduck.utils; |
| | | |
| | | import cn.hutool.core.convert.Convert; |
| | | import cn.hutool.core.util.ObjectUtil; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.ltkj.common.core.redis.RedisCache; |
| | | 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.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) { |
| | | @Autowired |
| | | private RedisCache cache; |
| | | |
| | | /** |
| | | * 保存到Cache |
| | | */ |
| | | public void save(String key, String value) { |
| | | // cacheManager.getCache(ETERNAL_CACHE_NAME).put(key, value); |
| | | // } |
| | | // |
| | | // /** |
| | | // * 获取 |
| | | // * |
| | | // * @param key |
| | | // */ |
| | | // public String get(String key) { |
| | | cache.setCacheObject(key,value); |
| | | } |
| | | |
| | | /** |
| | | * 获取 |
| | | * |
| | | * @param key |
| | | */ |
| | | public String get(String key) { |
| | | // Cache.ValueWrapper valueWrapper = cacheManager.getCache(ETERNAL_CACHE_NAME).get(key); |
| | | // Cache.ValueWrapper valueWrapper = cache.getCacheObject(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); |
| | | Object valueWrapper = cache.getCacheObject(key); |
| | | if (ObjectUtil.isNotNull(valueWrapper) && ObjectUtil.isNotNull(valueWrapper)) { |
| | | return valueWrapper.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); |
| | | cache.setCacheObject(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) { |
| | | } |
| | | |
| | | /** |
| | | * 获取集合 |
| | | * |
| | | * @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 |
| | | // */ |
| | | } |
| | | |
| | | /** |
| | | * 获取临时存储变量 |
| | | * |
| | | * @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())) { |
| | |
| | | // public void removeTemp(String key) { |
| | | // cacheManager.getCache(TEMP_CACHE_NAME).evict(key); |
| | | // } |
| | | // |
| | | // |
| | | //} |
| | | |
| | | |
| | | } |