| | |
| | | package com.ruoyi.common.core.redis; |
| | | |
| | | import java.util.Collection; |
| | | import java.util.Iterator; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Set; |
| | | import java.util.*; |
| | | import java.util.concurrent.TimeUnit; |
| | | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | return redisTemplate.opsForList().range(key, 0, -1); |
| | | } |
| | | |
| | | public <T> void setCacheList(String key, T data, final Integer timeout, final TimeUnit timeUnit) { |
| | | // 将数据插入list |
| | | redisTemplate.opsForList().leftPush(key, data); |
| | | // 设置过期时间 |
| | | if (timeout > 0) { |
| | | redisTemplate.expire(key,timeout, timeUnit); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 缓存Set |
| | | * |
| | |
| | | } |
| | | return setOperation; |
| | | } |
| | | |
| | | /** |
| | | * 缓存Set |
| | | * |
| | | * @param key 缓存键值 |
| | | * @param data 缓存的值 |
| | | * @param timeout 时间 |
| | | * @param timeUnit 时间颗粒度 |
| | | * @return 缓存数据的对象 |
| | | */ |
| | | public <T> void setCacheSet(String key, T data, final Integer timeout, final TimeUnit timeUnit) { |
| | | BoundSetOperations<String, String> setOperations = redisTemplate.boundSetOps(key); |
| | | setOperations.add(data.toString()); |
| | | // 设置过期时间 |
| | | if (timeout > 0) { |
| | | setOperations.expire(timeout, timeUnit); |
| | | } |
| | | } |
| | | /** |
| | | * 获得缓存的set |
| | | * |
| | |
| | | * 根据前缀获取所有的key* 例如:pro_ |
| | | */ |
| | | public List<Object> getListKey(String prefix) { |
| | | Set<Object> keys = redisTemplate.keys(prefix+"*"); |
| | | Set<Object> keys = redisTemplate.keys(prefix + "*"); |
| | | List<Object> values = redisTemplate.opsForValue().multiGet(keys); |
| | | return values; |
| | | } |
| | | |
| | | /** |
| | | * 根据前缀获取所有的key* 例如:pro_ |
| | | */ |
| | | public HashMap<String, Object> getMapKey(String prefix) { |
| | | HashMap<String, Object> map = new HashMap<>(); |
| | | Set<String> keys = redisTemplate.keys(prefix + "*"); |
| | | for (String key : keys) { |
| | | Object value = redisTemplate.opsForValue().get(key); |
| | | String nKey = key.replace(prefix, ""); |
| | | map.put(nKey, value); |
| | | } |
| | | return map; |
| | | } |
| | | } |