mirror of https://gitee.com/y_project/RuoYi.git
RuoYi
6 years ago
5 changed files with 19 additions and 295 deletions
@ -1,41 +0,0 @@ |
|||||||
package com.ruoyi.project.tool.redis; |
|
||||||
|
|
||||||
|
|
||||||
import org.springframework.cache.annotation.CachingConfigurerSupport; |
|
||||||
import org.springframework.cache.annotation.EnableCaching; |
|
||||||
import org.springframework.context.annotation.Bean; |
|
||||||
import org.springframework.context.annotation.Configuration; |
|
||||||
import org.springframework.data.redis.connection.RedisConnectionFactory; |
|
||||||
import org.springframework.data.redis.core.RedisTemplate; |
|
||||||
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer; |
|
||||||
import org.springframework.data.redis.serializer.StringRedisSerializer; |
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper; |
|
||||||
/** |
|
||||||
* Redis配置类 |
|
||||||
* @author wangchl |
|
||||||
* |
|
||||||
*/ |
|
||||||
@Configuration |
|
||||||
@EnableCaching |
|
||||||
public class RedisConfig extends CachingConfigurerSupport{ |
|
||||||
@Bean |
|
||||||
public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory connectionFactory) { |
|
||||||
RedisTemplate<Object, Object> template = new RedisTemplate<>(); |
|
||||||
template.setConnectionFactory(connectionFactory); |
|
||||||
|
|
||||||
//使用Jackson2JsonRedisSerializer来序列化和反序列化redis的value值
|
|
||||||
Jackson2JsonRedisSerializer serializer = new Jackson2JsonRedisSerializer(Object.class); |
|
||||||
|
|
||||||
ObjectMapper mapper = new ObjectMapper(); |
|
||||||
mapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL); |
|
||||||
serializer.setObjectMapper(mapper); |
|
||||||
|
|
||||||
template.setValueSerializer(serializer); |
|
||||||
//使用StringRedisSerializer来序列化和反序列化redis的key值
|
|
||||||
template.setKeySerializer(new StringRedisSerializer()); |
|
||||||
template.afterPropertiesSet(); |
|
||||||
return template; |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,30 +0,0 @@ |
|||||||
package com.ruoyi.project.tool.redis; |
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired; |
|
||||||
import org.springframework.stereotype.Controller; |
|
||||||
import org.springframework.web.bind.annotation.GetMapping; |
|
||||||
import org.springframework.web.bind.annotation.RequestMapping; |
|
||||||
|
|
||||||
|
|
||||||
/** |
|
||||||
* 测试类 |
|
||||||
* @author Administrator |
|
||||||
* |
|
||||||
*/ |
|
||||||
@Controller |
|
||||||
@RequestMapping(value="/redis") |
|
||||||
public class RedisTestController { |
|
||||||
|
|
||||||
@Autowired |
|
||||||
private RedisUtils redisUtils; |
|
||||||
|
|
||||||
@GetMapping("/test") |
|
||||||
public void findUser() { |
|
||||||
Integer id = 123456; |
|
||||||
|
|
||||||
redisUtils.set("121233", id); |
|
||||||
System.out.println(redisUtils.get("121233")); |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
} |
|
@ -1,194 +0,0 @@ |
|||||||
package com.ruoyi.project.tool.redis; |
|
||||||
|
|
||||||
import java.io.Serializable; |
|
||||||
import java.util.List; |
|
||||||
import java.util.Set; |
|
||||||
import java.util.concurrent.TimeUnit; |
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired; |
|
||||||
import org.springframework.data.redis.core.HashOperations; |
|
||||||
import org.springframework.data.redis.core.ListOperations; |
|
||||||
import org.springframework.data.redis.core.RedisTemplate; |
|
||||||
import org.springframework.data.redis.core.SetOperations; |
|
||||||
import org.springframework.data.redis.core.ValueOperations; |
|
||||||
import org.springframework.data.redis.core.ZSetOperations; |
|
||||||
import org.springframework.stereotype.Service; |
|
||||||
|
|
||||||
/** |
|
||||||
* Redis工具类 |
|
||||||
* @author wangchl |
|
||||||
* |
|
||||||
*/ |
|
||||||
@Service |
|
||||||
public class RedisUtils { |
|
||||||
@Autowired |
|
||||||
private RedisTemplate redisTemplate; |
|
||||||
/** |
|
||||||
* 写入缓存 |
|
||||||
* @param key |
|
||||||
* @param value |
|
||||||
* @return |
|
||||||
*/ |
|
||||||
public boolean set(final String key, Object value) { |
|
||||||
boolean result = false; |
|
||||||
try { |
|
||||||
ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue(); |
|
||||||
operations.set(key, value); |
|
||||||
result = true; |
|
||||||
} catch (Exception e) { |
|
||||||
e.printStackTrace(); |
|
||||||
} |
|
||||||
return result; |
|
||||||
} |
|
||||||
/** |
|
||||||
* 写入缓存设置时效时间 |
|
||||||
* @param key |
|
||||||
* @param value |
|
||||||
* @return |
|
||||||
*/ |
|
||||||
public boolean set(final String key, Object value, Long expireTime) { |
|
||||||
boolean result = false; |
|
||||||
try { |
|
||||||
ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue(); |
|
||||||
operations.set(key, value); |
|
||||||
redisTemplate.expire(key, expireTime, TimeUnit.SECONDS); |
|
||||||
result = true; |
|
||||||
} catch (Exception e) { |
|
||||||
e.printStackTrace(); |
|
||||||
} |
|
||||||
return result; |
|
||||||
} |
|
||||||
/** |
|
||||||
* 批量删除对应的value |
|
||||||
* @param keys |
|
||||||
*/ |
|
||||||
public void remove(final String... keys) { |
|
||||||
for (String key : keys) { |
|
||||||
remove(key); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* 批量删除key |
|
||||||
* @param pattern |
|
||||||
*/ |
|
||||||
public void removePattern(final String pattern) { |
|
||||||
Set<Serializable> keys = redisTemplate.keys(pattern); |
|
||||||
if (keys.size() > 0) |
|
||||||
redisTemplate.delete(keys); |
|
||||||
} |
|
||||||
/** |
|
||||||
* 删除对应的value |
|
||||||
* @param key |
|
||||||
*/ |
|
||||||
public void remove(final String key) { |
|
||||||
if (exists(key)) { |
|
||||||
redisTemplate.delete(key); |
|
||||||
} |
|
||||||
} |
|
||||||
/** |
|
||||||
* 判断缓存中是否有对应的value |
|
||||||
* @param key |
|
||||||
* @return |
|
||||||
*/ |
|
||||||
public boolean exists(final String key) { |
|
||||||
return redisTemplate.hasKey(key); |
|
||||||
} |
|
||||||
/** |
|
||||||
* 读取缓存 |
|
||||||
* @param key |
|
||||||
* @return |
|
||||||
*/ |
|
||||||
public Object get(final String key) { |
|
||||||
Object result = null; |
|
||||||
ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue(); |
|
||||||
result = operations.get(key); |
|
||||||
return result; |
|
||||||
} |
|
||||||
/** |
|
||||||
* 哈希 添加 |
|
||||||
* @param key |
|
||||||
* @param hashKey |
|
||||||
* @param value |
|
||||||
*/ |
|
||||||
public void hmSet(String key, Object hashKey, Object value){ |
|
||||||
HashOperations<String, Object, Object> hash = redisTemplate.opsForHash(); |
|
||||||
hash.put(key,hashKey,value); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* 哈希获取数据 |
|
||||||
* @param key |
|
||||||
* @param hashKey |
|
||||||
* @return |
|
||||||
*/ |
|
||||||
public Object hmGet(String key, Object hashKey){ |
|
||||||
HashOperations<String, Object, Object> hash = redisTemplate.opsForHash(); |
|
||||||
return hash.get(key,hashKey); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* 列表添加 |
|
||||||
* @param k |
|
||||||
* @param v |
|
||||||
*/ |
|
||||||
public void lPush(String k,Object v){ |
|
||||||
ListOperations<String, Object> list = redisTemplate.opsForList(); |
|
||||||
list.rightPush(k,v); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* 列表获取 |
|
||||||
* @param k |
|
||||||
* @param l |
|
||||||
* @param l1 |
|
||||||
* @return |
|
||||||
*/ |
|
||||||
public List<Object> lRange(String k, long l, long l1){ |
|
||||||
ListOperations<String, Object> list = redisTemplate.opsForList(); |
|
||||||
return list.range(k,l,l1); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* 集合添加 |
|
||||||
* @param key |
|
||||||
* @param value |
|
||||||
*/ |
|
||||||
public void add(String key,Object value){ |
|
||||||
SetOperations<String, Object> set = redisTemplate.opsForSet(); |
|
||||||
set.add(key,value); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* 集合获取 |
|
||||||
* @param key |
|
||||||
* @return |
|
||||||
*/ |
|
||||||
public Set<Object> setMembers(String key){ |
|
||||||
SetOperations<String, Object> set = redisTemplate.opsForSet(); |
|
||||||
return set.members(key); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* 有序集合添加 |
|
||||||
* @param key |
|
||||||
* @param value |
|
||||||
* @param scoure |
|
||||||
*/ |
|
||||||
public void zAdd(String key,Object value,double scoure){ |
|
||||||
ZSetOperations<String, Object> zset = redisTemplate.opsForZSet(); |
|
||||||
zset.add(key,value,scoure); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* 有序集合获取 |
|
||||||
* @param key |
|
||||||
* @param scoure |
|
||||||
* @param scoure1 |
|
||||||
* @return |
|
||||||
*/ |
|
||||||
public Set<Object> rangeByScore(String key,double scoure,double scoure1){ |
|
||||||
ZSetOperations<String, Object> zset = redisTemplate.opsForZSet(); |
|
||||||
return zset.rangeByScore(key, scoure, scoure1); |
|
||||||
} |
|
||||||
} |
|
Loading…
Reference in new issue