javaTimeModule.addDeserializer(LocalDate.class, new LocalDateDeserializer(DateTimeFormatter.ofPattern(“yyyy-MM-dd”)));
javaTimeModule.addDeserializer(LocalTime.class, new LocalTimeDeserializer(DateTimeFormatter.ofPattern(“HH:mm:ss”)));
om.registerModule(javaTimeModule);
valueSerializer.setObjectMapper(om);
// key采用String的序列化方式
template.setKeySerializer(keySerializer);
// hash的key也采用String的序列化方式
template.setHashKeySerializer(keySerializer);
// value序列化方式采用jackson
template.setValueSerializer(valueSerializer);
// hash的value序列化方式采用jackson
template.setHashValueSerializer(valueSerializer);
template.afterPropertiesSet();
return template;
}
}
public class JsonUtil {
private static ObjectMapper objectMapper = new ObjectMapper();
public static String convertObj2String(Object object) {
String s = null;
try {
s = objectMapper.writeValueAsString(object);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return s;
}
public static T convertString2Obj(String s, Class clazz) {
T t = null;
try {
t = objectMapper.readValue(s, clazz);
} catch (IOException e) {
e.printStackTrace();
}
return t;
}
}
接口
package com.hc.common.service;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
-
@author hecai
-
@date 2021/12/21 9:08
*/
public interface RedisService {
/**
- 四周
*/
long WEEK_SECONDS = 4 * 7 * 24 * 60 * 60;
/**
-
列举出所有符合指定模式的key的集合
-
@param pattern 模式
-
@return
*/
Set keys(String pattern);
/**
-
指定缓存失效时间
-
@param key 键
-
@param time 时间(秒)
-
@return
*/
boolean expire(String key, long time);
/**
-
根据key 获取过期时间
-
@param key 键 不能为null
-
@return 时间(秒) 返回代表为永久有效
*/
long getExpire(String key);
/**
-
判断key是否存在
-
@param key 键
-
@return true 存在 false不存在
*/
boolean exists(String key);
/**
-
删除缓存
-
@param key 可以传一个值 或多个
*/
void del(String… key);
/**
-
普通缓存放入,设置永不过期
-
@param key 键
-
@param value 值
-
@return true成功 false失败
*/
public boolean setNeverExpire(String key, E value);
/**
-
普通缓存放入,使用系统默认的过期时间
-
@param key 键
-
@param value 值
-
@return true成功 false失败
*/
boolean set(String key, E value);
/**
-
普通缓存放入并设置时间
-
@param key 键
-
@param value 值
-
@param expireTime 时间(秒) time要大于 如果time小于等于 将设置无限期
-
@return true成功 false 失败
*/
boolean set(String key, E value, long expireTime);
boolean multiSet(Map<String, E> map);
/**
-
普通缓存获取
-
@param key 键
-
@return 值
*/
E get(String key);
/**
-
普通缓存获取
-
@param keys 键
-
@return 值
*/
List multiGet(Collection keys);
/**
-
递增
-
@param key 键
-
@param delta 要增加几(大于)
-
@return
*/
long incr(String key, long delta);
/**
-
递减
-
@param key 键
-
@param delta 要减少几(小于)
-
@return
*/
long decr(String key, long delta);
/**
-
向一张hash表中放入数据,如果不存在将创建
-
@param key 键
-
@param entryKey 项
-
@param entryValue 值
-
@return true 成功 false失败
*/
boolean hset(String key, String entryKey, E entryValue);
/**
-
向一张hash表中放入数据,如果不存在将创建
-
@param key 键
-
@param entryKey 项
-
@param entryValue 值
-
@param time 时间(秒) 注意:如果已存在的hash表有时间,这里将会替换原有的时间
-
@return true 成功 false失败
*/
boolean hset(String key, String entryKey, E entryValue, long time);
/**
-
HashSet
-
@param key 键
- <