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