当前位置: 首页 > 面试题库 >

具有Java客户端的键值数据库

封永嘉
2023-03-14
问题内容

我基本上想将哈希表存储在磁盘上,以便以后查询。我的程序是用Java编写的。哈希表从字符串映射到列表。

有很多键值存储,但是经过大量研究/阅读后,不清楚哪个键值存储最适合我的目的。这对我很重要。

  1. 简单的键值存储,使您可以使用单个键检索值。
  2. 良好的Java客户端,有据可查。
  3. 数据集很小,不需要高级功能。同样,我希望它很简单。

我研究了Redis和MongoDB。两者看起来都很有希望,但对我而言并不理想。任何信息,将不胜感激。


问题答案:

在提供任何答案之前,我会先问自己为什么我需要将此哈希表存储在磁盘上,因为根据您的描述数据集很小,因此我认为它可以放入内存。如果只是为了能够在重新启动应用程序后重用此结构,则可以使用任何一种格式来保留它。

其次,您没有提供任何原因使Redis或MongoDB不够理想。根据您(简短)的3个要求,我会说Redis可能是您最好的选择:

  • 好的Java客户
  • 不仅能够存储列表,而且还支持对列表值进行操作(因此数据不是不透明的)

我可能想消除Redis的唯一原因是,您正在寻找严格的ACID特性。如果这是您想要的,那么您可以看看BerkleyDB
JE。它已经存在了一段时间,并且文档很好。



 类似资料:
  • 问题内容: 我正在为任务做游戏。我有一个用Java设置的服务器和多客户端,我们正在使用MVC。我需要有一个客户端将其名称发送到服务器,然后当有两个玩家出现时,我需要将这两个名称以及他们的玩家编号(玩家1或玩家2)发送回客户端。我不知道如何分辨信息来自哪个线程或信息被发送到哪个线程,因此并非所有玩家都认为自己是玩家之一。谢谢。 问题答案: 在这里,我与您分享了一个不错的 聊天程序 ,其中包含一台服务

  • null 编辑1 我使用java配置,而不是xml配置

  • 我使用Spring4的RestTemplate和雅加达的HttpComponents 4.3来实现远程web服务的客户端。客户端在安全电路上使用基本身份验证。一切都运行得很好,但现在我们正在升级到一种模式,其中连接的用户名将根据请求的内容而变化。 到目前为止,PoolghttpClientConnectionManager在确定现有连接是否对新连接请求有效时似乎忽略了凭据—它严格地查看路由。因此,

  • 我想在一些计算机之间建立点对点连接,这样用户就可以在没有外部服务器的情况下聊天和交换文件。我最初的想法如下: 我在服务器上制作了一个中央服务器插座,所有应用程序都可以连接到该插座。此ServerSocket跟踪已连接的套接字(客户端),并将新连接的客户端的IP和端口提供给所有其他客户端。每个客户端都会创建一个新的ServerSocket,所有客户端都可以连接到它。 换句话说:每个客户端都有一个Se

  • 是否可以使用spring-cloud-consult库从consult k/v存储中重新读取自定义键/值?在文档中还没有找到答案。 当然可以通过http GET请求访问它,但关键是要更改某个键的值,并使spring应用程序立即处理这个更改。 UPD:不幸的是,我们已经从Consult迁移到了config-server,但我想应该能发挥作用。

  • GitHub提供的Web服务,在客户端通常只需要浏览器及Git命令行工具就可以满足需要了。而GitHub还开发了一些客户端工具,以便用户有更好的客户端体验。 6.3.1. github:mac 6.3.2. hub 6.3.3. iOS应用