RedisOM前几天,Redis发布了对象映射框架:RedisOM,即:ObjectMapping,不过还是预览版。当然,RedisOM的诞生不仅仅是对象映射,更多的是提供了一个高级的抽象类库,目的是让开发者更容易、更方便地使用Redis数据。RedisOM支持的第一个抽象是:对象映射,支持基于对象的Redis数据持久化和流式查询操作。目前仅支持4种开发语言:RedisOMforSpring(Java)、RedisOMfor.NET、RedisOMforNode.js、RedisOMforPython。相信未来会支持更多的语言。RedisOMforSpringRedisOMforSpring是一个支持我们Java的对象映射库。stackmanager看了官方仓库的源码说明,其实是扩展了SpringDataRedis,可以提供更好的数据搜索,文档模型等,可以理解为MyBatis-plus和MyBatis的关系,互补彼此。快速入门RedisOM可以快速与SpringBoot集成。Maven依赖:com.redis.om.springredis-om-spring${version}SpringBoot配置:@SpringBootApplication@Configuration@EnableRedisDocumentRepositories(basePackages="cn.javastack.documents.*")publicclassRdsDocumentsApplication{publicstaticvoidmain(String[]args){使用@EnableRedisDocumentRepositories注解扫描@Document注解的Spring模型,注入实现RedisDocumentRepository的repositoriesbean,之后就可以进行CRUD和自定义查询操作了。SpringBoot的基础就不介绍了,学习笔记分享给大家。实际仓库源码:https://github.com/javastacks...对象模型映射RedisOM也通过注解映射对象模型,如下例所示:/***商户操作仓库*作者:StackManager*来源公众号:Java技术栈*/@Data@RequiredArgsConstructor(staticName="of")@AllArgsConstructor(access=AccessLevel.PROTECTED)@DocumentpublicclassMerchant{@IdprivateStringid;@Searchable私有字符串名称;@Indexed私有点位置;@IndexedprivateSetsites=newHashSet();@IndexedprivateIntegernumberOfEmployees;@Indexed私有整数yearFounded;;//...}注解说明:@Document:将SpringData模型映射为RedisJSON文档;@Id:使用ULID替代传统的UUID主键生成策略,更快更易用;@Searchable:声明全文搜索索引;@Indexable:声明索引;定义仓库SpringDataRedis这里就不详细介绍了。栈长之前写过一些。堆垛机已经整理好了。Repository仓库的使用也很简单,直接继承RedisDocumentRepository即可:/***商户操作仓库*作者:StackLeader*来源公众号:Java技术栈*/publicinterfaceMerchantRepositoryextendsRedisDocumentRepository{//查找单个MerchantOptionalfindMerchantByName(Stringname);}使用仓库先注入MerchantRepo仓库:@AutowiredMerchantRepositorymerchantRepo;然后你可以持久化数据和查询操作。DataPersistence:/***PersistentData*作者:StackLeader*来源公众号:Java技术栈*/@BeanCommandLineRunnerinitData(){returnargs->{//清除数据merchantRepo.deleteAll();Merchantjavastack1=Merchant.of("javastack1","https://javastack.cn",newPoint(-122.066540,37.377690),526,2011//);javastack1.setTags(Set.of("快速","可扩展","可靠"));Merchantjavastack2=Merchant.of("javastack2","https://javastack.cn",newPoint(-122.124500,47.640160),182268,1975//);javastack2.setTags(Set.of("创新","可靠"));//持久化数据merchantRepo.save(javastack1);merchantRepo.save(javastack2);};}数据查询:/***查找单个商户*作者:stackleader*来源公众号:Java技术栈*/@GetMapping("name/{name}")OptionalbyName(@PathVariable("name")Stringname){returnmerchantRepo.findMerchantByName(name);}RedisOM整个过程都是通过对象的方式,更好的面向对象的编程思想,不需要多余的对象转换操作。综上所述,RedisOM对象映射只是扩展了SpringDataRedis。它离不开SpringDataRedis,更离不开其他Redis客户端。它只是一个更高层次的抽象库,可以让我们更简单、更方便地使用Redis。简直可以说是Redis界的Hibernate,真香!目前还是预览版,功能还不完善。我们仍然期待它的正式发布。stackmanager会第一时间跟进分享经验。更多细节请参考:https://redis.com/blog/introd...https://github.com/redis/redi...好了,今天的分享就到这里,stackleader见面会稍后分享更多有趣的Java技术和最新的技术资讯,关注公众号Java技术栈第一时间推送,我也整理了主流的Java面试题和参考答案,回复关键词“面试”在公众号的背景》刷题。最后,大家觉得RedisOM怎么样?欢迎大家留言讨论!这真是一个不错的框架,欢迎转发分享给更多的Javaer朋友!版权声明:本文由公众号《Java技术栈》原创,原创不易,转载或引用本文内容请注明出处,如有抄袭,一律举报+投诉,并保留追究法律责任的权利。近期热点文章推荐:1.1,000+Java面试题及答案(2021最新版)2.别在满屏的if/else中,试试策略模式,真的很好吃!!3.操!Java中xx≠null的新语法是什么?4、SpringBoot2.6正式发布,一大波新特性。.5.《Java开发手册(嵩山版)》为最新版本,赶快下载吧!感觉不错,别忘了点赞+转发!