Redis取出数据之后有反斜杠
一开始的方法
@Autowired
private RedisTemplate<String, String> redisTemplate;
/**
* 写入缓存
*
* @param key
* @param value
* @return
*/
public boolean set(final String key, String value, Long expireTime) {
boolean result = false;
try {
ValueOperations<String, String> operations = redisTemplate.opsForValue();
operations.set(key, value);
redisTemplate.expire(key, expireTime, TimeUnit.SECONDS);
result = true;
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
/**
* 读取缓存
*
* @param key
* @return
*/
public String get(final String key) {
String result = null;
ValueOperations<String, String> operations = redisTemplate.opsForValue();
result = operations.get(key);
return result;
}
因为之前的方法RedisTemplate<String, String> 都是String类型的所以在取数据之后会多出来反斜杠
改为下面的方法就能解决这个问题RedisTemplate<Object, Object> 存的时候直接存为Object类型
@Autowired
private RedisTemplate<Object, Object> redisTemplate;
/**
* 写入缓存
*
* @param key
* @param value
* @return
*/
public boolean set(final Object key, Object value, Long expireTime) {
boolean result = false;
try {
ValueOperations<Object, Object> operations = redisTemplate.opsForValue();
operations.set(key, value);
redisTemplate.expire(key, expireTime, TimeUnit.SECONDS);
result = true;
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
/**
* 读取缓存
*
* @param key
* @return
*/
public Object get(final Object key) {
ValueOperations<Object, Object> operations = redisTemplate.opsForValue();
Object o = operations.get(key);
return o;
}