| | |
| | | package org.dromara.common.redis.manager; |
| | | |
| | | import cn.hutool.core.lang.Console; |
| | | import org.dromara.common.core.utils.SpringUtils; |
| | | import org.springframework.cache.Cache; |
| | | |
| | |
| | | @Override |
| | | public ValueWrapper get(Object key) { |
| | | Object o = CAFFEINE.get(getUniqueKey(key), k -> cache.get(key)); |
| | | Console.log("redisson caffeine -> key: " + getUniqueKey(key) + ",value:" + o); |
| | | return (ValueWrapper) o; |
| | | } |
| | | |
| | | @SuppressWarnings("unchecked") |
| | | public <T> T get(Object key, Class<T> type) { |
| | | Object o = CAFFEINE.get(getUniqueKey(key), k -> cache.get(key, type)); |
| | | Console.log("redisson caffeine -> key: " + getUniqueKey(key) + ",value:" + o); |
| | | return (T) o; |
| | | } |
| | | |
| | | @Override |
| | | public void put(Object key, Object value) { |
| | | CAFFEINE.invalidate(getUniqueKey(key)); |
| | | cache.put(key, value); |
| | | } |
| | | |
| | | public ValueWrapper putIfAbsent(Object key, Object value) { |
| | | CAFFEINE.invalidate(getUniqueKey(key)); |
| | | return cache.putIfAbsent(key, value); |
| | | } |
| | | |
| | |
| | | @Override |
| | | public <T> T get(Object key, Callable<T> valueLoader) { |
| | | Object o = CAFFEINE.get(getUniqueKey(key), k -> cache.get(key, valueLoader)); |
| | | Console.log("redisson caffeine -> key: " + getUniqueKey(key) + ",value:" + o); |
| | | return (T) o; |
| | | } |
| | | |