当前位置: 首页 > 知识库问答 >
问题:

Spring数据的用途及其抽象级别是什么?

萧嘉茂
2023-03-14

在试图理解“Spring Data”的用途时,我偶然发现了这篇文章,并尝试了一些关于Gemfire/Redis存储库及其相应Spring-Data组件的示例。有人能帮我解答下面的问题吗。

场景:当GemFire是我的数据存储时,我必须在GemFireTemplate上使用create、get和remove方法来执行CRUD操作。当Redis是我的数据存储时,我不得不在RedisTemplate上使用方法。opsforhash().put、.opsforhash().get和。opsforhash().delete来执行相同的CRUD操作。

问题:

对于所有的持久性存储,没有通用的API。差异太根本了。但是Spring Data project确实提供了一个访问数据的通用编程模型

共有1个答案

申屠黎昕
2023-03-14

感谢您的问题,正如Master Slave已经很好地指出的,Spring Data提供的好处是多方面的,但有时在存储模块之间支持的特性方面存在功能差异。这部分是由于特定基础html" target="_blank">数据仓库的不同特性和能力,以及焦点和时间限制造成的。

Redis和Gemfire在某种程度上扩展了类似的存储技术,提供了一个键值存储和访问模型。然而,Gemfire提供了比Redis更丰富的查询功能。这就是为什么Spring Data Gemfire已经有一个存储库抽象很久了的原因之一。

另一方面,Redis是一个不同的故事--正如Master Slave已经提到的,您可以轻松地构建自己定制的Redis存储库--这是许多人所做的--但通常与Redis的交互对于用例来说是非常独特的,所以我们没有看到太多的功能重叠来激励一个不仅仅是“保存”和“加载”的通用实现。

 类似资料:
  • 问题内容: 我对于过去几天来遇到的Zookeeper港口来说是个新手。 我曾两次用 zookeeper port 关键字介绍过: 在配置neo4j数据库群集(链接)时, 在运行已编译的voltdb目录(链接)时(请参阅网络配置参数) 然后,我遇到了Apache Zookeeper (我想它与分布式应用程序有关,我也是分布式应用程序的新手)。因此我想到一个问题: 在上述两种情况下,Apache Zo

  • 我一直在阅读ES6中介绍的解构任务。 这个语法的目的是什么,为什么引入它,以及在实践中如何使用它的一些示例是什么?

  • 问题内容: 我一直在阅读有关ES6中引入的解构分配的信息。 该语法的目的是什么,为什么要引入它,以及在实践中如何使用它的一些示例? 问题答案: 什么是销毁工作? 该 解构赋值 语法是JavaScript表达式,使得它可以从阵列解压缩的值,或从属性的对象,为不同的变量。 [MDN] 优点 *答 *: 使代码简明易懂。 B. 我们可以轻松避免重复破坏表达。 一些用例 1.要从Objects,array

  • 问题内容: 抽象类不能在Java中实例化。但是spring说了用。如果抽象类的状态仅由其子类实例初始化(我想我是对的),那么如果我需要在抽象类中定义的方法内使用该属性,那么…它?我有一组代码如下: 问题答案: Spring中的抽象bean与抽象类有所不同。实际上,Spring中的抽象bean甚至不必映射到任何类。以此为例: And classes: 请注意,并且没有任何共同的父(无论是否抽象)基类

  • 本文向大家介绍接口和抽象类的区别是什么?相关面试题,主要包含被问及接口和抽象类的区别是什么?时的应答技巧和注意事项,需要的朋友参考一下 考察点:抽象类 Java提供和支持创建抽象类和接口。它们的实现有共同点,不同点在于: 接口中所有的方法隐含的都是抽象的。而抽象类则可以同时包含抽象和非抽象的方法。 类可以实现很多个接口,但是只能继承一个抽象类 类可以不实现抽象类和接口声明的所有方法,当然,在这种情

  • 本文向大家介绍抽象类和接口的区别是什么?相关面试题,主要包含被问及抽象类和接口的区别是什么?时的应答技巧和注意事项,需要的朋友参考一下 实现:抽象类的子类使用 extends 来继承;接口必须使用 implements 来实现接口。 构造函数:抽象类可以有构造函数;接口不能有。 实现数量:类可以实现很多个接口;但只能继承一个抽象类【java只支持单继承】。 访问修饰符:接口中的方法默认使用 pub