让建站和SEO变得简单

让不懂建站的用户快速建站,让会建站的提高建站效率!

栏目分类
热点资讯
公司资讯
你的位置:北京冠军计划 > 公司资讯 > 重磅官宣:Redis OM 发布,Redis 对象映射框架来了!
重磅官宣:Redis OM 发布,Redis 对象映射框架来了!

发布日期:2022-03-13 19:58    点击次数:188

Redis OM

前几天,Redis 发布了对象映射框架:Redis OM,即:Object Mapping,不外现时它如故预览版。

诚然,Redis OM 的横空出世不单是是对象映射,它更多的是提供一个高等的空洞类库,指标即是让树立人员更粗浅、便捷的使用 Redis 数据。

Redis OM 撑持的第一个空洞即是:对象映射,撑持基于对象的 Redis 数据历久化、流式查询操作。

现时只撑持 4 种树立说话:

Redis OM for Spring(Java) Redis OM for .NET Redis OM for Node.js Redis OM for Python

笃信后续会撑持更多说话。

Redis OM for Spring

Redis OM for Spring 是对我们 Java 的撑持的对象映射类库。

栈长看了官方仓库源码证据,它其实即是推广了 Spring Data Redis,不错提供更好的数据搜索、文档模子等,不错交融为 MyBatis-plus 和 MyBatis 的关系,相得益彰的。

快速运转

Redis OM 不错和 Spring Boot 快速集成。

Maven 依赖:

<dependency>   <groupId>com.redis.om.spring</groupId>   <artifactId>redis-om-spring</artifactId>   <version>${version}</version> </dependency

 

Spring Boot 建设:

@SpringBootApplication @Configuration @EnableRedisDocumentRepositories(basePackages = "cn.javastack.documents.*") public class RdsDocumentsApplication {    public static void main(String[] args) {       SpringApplication.run(RdsDocumentsApplication.class, args);   }    } 

使用 @EnableRedisDocumentRepositories 注目扫描 @Document 注解的 Spring 模子,通过注入达成 RedisDocumentRepository 的 repositories bean,后头就不错进行 CRUD 和自界说查询操作了。

Spring Boot 基础就不先容了,学习条记共享给你,实战仓库源码:https://github.com/javastacks/spring-boot-best-practice

对象模子映射

Redis OM 亦然通过注解的面貌映射对象模子,如底下示例:

/**  * 商户操作仓库  * 作家:栈长  * 开首公众号:Java技能栈  */ @Data @RequiredArgsConstructor(staticName = "of") @AllArgsConstructor(access = AccessLevel.PROTECTED) @Document public class Merchant {    @Id    private String id;      @Searchable    private String name;      @Indexed    private Point location;      @Indexed    private Set<String> sites = new HashSet<String>();      @Indexed    private Integer numberOfEmployees;      @Indexed    private Integer yearFounded;      private String url;      private boolean publiclyListed;    // ... } 

注讲明明:

@Document: 将 Spring Data 模子映射到 Redis JSON 文档; @Id: 使用 ULID 取代传统的 UUID 主键生成战术,生成速率更快、更易用; @Searchable: 声明全文搜索索引; @Indexable: 声明索引; 界说仓库

Spring Data Redis 这里就不防御先容了,栈长之前写过一些,不会用的不错温雅公众号:Java技能栈,在公众号菜单栏中阅读,栈长都一经整理好了。

使用 Repository 仓库也很粗浅,摄取 RedisDocumentRepository 就行了:

/**  * 商户操作仓库  * 作家:栈长  * 开首公众号:Java技能栈  */ public interface MerchantRepository extends RedisDocumentRepository<Merchant, String> {    // 查找单个商户   Optional<Merchant> findMerchantByName(String name);    } 
使用仓库

先注入 MerchantRepo 仓库:

@Autowired  MerchantRepository merchantRepo; 

然后就不错历久化数据和查询操作了。

数据历久化:
/**  * 历久化数据  * 作家:栈长  * 开首公众号:Java技能栈  */ @Bean CommandLineRunner initData() {     return args -> {       // 清空数据       merchantRepo.deleteAll();              Merchant javastack1 = Merchant.of(         "javastack1", "https://javastack.cn", new Point(-122.066540, 37.377690), 526, 2011 //       );       javastack1.setTags(Set.of("fast", "scalable", "reliable"));        Merchant javastack2 = Merchant.of(         "javastack2", "https://javastack.cn", new Point(-122.124500, 47.640160), 182268, 1975 //       );       javastack2.setTags(Set.of("innovative", "reliable"));              // 历久化数据       merchantRepo.save(javastack1);       merchantRepo.save(javastack2);     }; } 
数据查询:
/**  * 查找单个商户  * 作家:栈长  * 开首公众号:Java技能栈  */ @GetMapping("name/{name}") Optional<Merchant> byName(@PathVariable("name") String name) {     return merchantRepo.findMerchantByName(name); } 

Redis OM 全程都是通过对象的面貌,更好的面向对象编程的思惟,不需要充足的对象诊疗操作了。

回来

Redis OM 对象映射只是推广了 Spring Data Redis,它不成脱离 Spring Data Redis,更不成脱离其他 Redis 客户端,它只是一个更高层级的空洞库费力,不错使我们更粗浅、便捷的使用 Redis。

不错粗浅的说它是 Redis 界的 Hibernate,真香!

当今如故预览版,功能也不全,我们如故期待它的厚爱发布吧,栈长会第一时刻跟进和体验共享。

更多的细节不错参考:

https://redis.com/blog/introducing-redis-om-client-libraries/

https://github.com/redis/redis-om-spring

好了,今天的共享就到这里了,后头栈长会共享更多好玩的 Java 技能和最新的技能资讯,温雅公众号Java技能栈第一时刻推送,我也将主流 Java 口试题和参考谜底都整理好了,在公众号后台复兴关节字 "口试" 进行刷题。

本文转载自微信公众号「Java技能栈」,不错通过以下二维码温雅。转载本文请规划Java技能栈公众号。

 



首页 公司资讯 北京冠军计划官网