本文主要是介绍redis,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
package com.ekgc.medial.base.util;
import com.fasterxml.jackson.databind.json.JsonMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;
import java.util.concurrent.TimeUnit;
/**
* <b>Redis 操作工具类</b>
* @author Arthur
* @version 3.0.0
*/
@Component("redisUtil")
public class RedisUtil {
@Autowired
private StringRedisTemplate redisTemplate;
/**
* <b>将对象存储到 Redis 中</b>
* @param key
* @param value
* @param expireTimeSeconds
* @return
*/
public boolean saveToRedis(String key, Object value, Long expireTimeSeconds) {
try {
// 将用户所给定的 Object 类型的 value 变为 String 类型的 JSON
JsonMapper jsonMapper = new JsonMapper();
String valueJSON = jsonMapper.writeValueAsString(value);
// 将该 JSON 存储到 Redis 中
redisTemplate.opsForValue().set(key, valueJSON);
// 设置过期时间
redisTemplate.expire(key, expireTimeSeconds, TimeUnit.SECONDS);
return true;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
/**
* <b>根据 Key 获得存储的对象信息</b>
* @param key
* @param type
* @return
*/
public Object getFromRedis(String key, Class type) {
try {
// 通过 key 从 Redis 中获得对应 JSON
String valueJSON = redisTemplate.opsForValue().get(key);
// 判断此时能够获取到对应的 JSON
if (valueJSON != null && !"".equals(valueJSON)) {
// 此时存在对应的信息,那么变为对象
JsonMapper jsonMapper = new JsonMapper();
Object obj = jsonMapper.readValue(valueJSON, type);
return obj;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
这篇关于redis的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!