是否有可嵌入的Java替代Redis?

And*_*Mao 26 java embed set redis data-structures

根据这个帖子,如果我想从Java使用Redis,Jedis是最好用的.

但是,我想知道是否有任何库/包提供与Redis中已存在的类似的高效设置操作,但是可以直接嵌入Java应用程序而无需设置单独的服务器.(即,使用Jetty作为Web服务器).

更确切地说,我希望能够有效地执行以下操作:

  1. 有大量M个用户(M未提前知道).
  2. 有大量的N项.
  3. 我们希望用户一次检查项目,一个用户/项目,产生存储结果(在普通数据库中).
  4. 每次用户到达时,我们都希望为该用户分配用户以前从未见过的现有结果数量最少的项目.当我们只关心所有项目看起来大致相同的次数时,这会在所有到达的用户上产生项目的近似循环分配.

以上以并行方式发生.当M和N很大时,Redis比SQL查询更有效地完成上述任务.有没有办法使用比启动Redis服务器更轻量级的可嵌入Java库来实现这一点?

我认识到使用Java的并发库编写一堆代码是可能的,这些库将粗略地估计这个(在某种程度上,我已经完成了),但这并不是我在这里寻找的.

eSn*_*iff 11

看看项目伏地魔.它是Linked-In创建的分布式键值存储,它支持嵌入式功能.

快速入门指南是运行嵌入式服务器与独立服务器的小例子.

VoldemortConfig config = VoldemortConfig.loadFromEnvironmentVariable();
VoldemortServer server = new VoldemortServer(config);
server.start();
Run Code Online (Sandbox Code Playgroud)

我对Redis了解不多,所以我无法将它们与功能进行比较.在我们使用Voldemort的项目中,我们使用它的readonly支持商店,效果很好.它允许我们在我们的处理数据中心"预编译"每日两次的数据库,并将其"运送"到边缘数据中心.这样每个边缘数据中心都有一个数据集的本地副本.

编辑:在重新阅读你的问题后,我想添加Gauva的表 - 这个表DataStructure也可能是你正在寻找的东西,并且与许多无数据库数据库相似.