背景
Redis作为一个功能强大的nosql数据库,在项目中使用越来越广泛,为了更高效合理使用Redis,Redis提供了多种语言的客户端实现,而Jedis就是java中使用最广泛的Redis客户端实现。
在Jedis客户端jedis.jar包中,有一个jedis.class类,是一个大而全的对应Redis命令的类,方法比较多,使用起来不是很方便,主要存在两方面比较突出的问题:
1、不同的数据结构方法都在同一个类中,使用起来容易混淆或者不够清晰,比如哪些是Hash结构相关的方法;
2、存储或者获取的值,基本都是String类型,而实际使用中往往是一个业务数据模型类,使用时还需要根据业务需求,转换为相应的业务数据模型。
实现
1、jedis类中的方法按照Key,String,List,Set,SortSet,Pub/Sub等分类包装,对应不同的实现类。
2、针对不同实现类中的值部分,实际是将泛型值(是pojo类)转换为json字符串进行存储,或者将json字符串转换为相应的值(pojo类)返回。
封装后使用对比
封装前,调用Hash结构相关的方法,需做更多的方法甄别:
封装后,只需在JedisHash类中调用,并且支持不同的业务数据模型转换:
参考http://www.redis.net.cn/order/" redis命令描述。
https://github.com/Slive/org.slive.jedis
领取专属 10元无门槛券
私享最新 技术干货