Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 按值快速搜索K-V数据库_Java_Database_Spring_Redis_Nosql - Fatal编程技术网

Java 按值快速搜索K-V数据库

Java 按值快速搜索K-V数据库,java,database,spring,redis,nosql,Java,Database,Spring,Redis,Nosql,我努力解决这个问题 我的项目需要存储大量的kv数据(其中K是id,值是一些示例MyData类),并以很快的速度从DB中通过id获取它。3天后,此数据必须过期(从数据库中删除) 根据这一点,我读了很多关于Redis的书,我们开始使用它。 我们对RAM没有问题:)所以一切都很好。我们的负载是每24小时在Redis中加载1000000条记录。所以72小时后,我们有大约300000条记录 问题是我们想要创建一个简单的分析服务,它将根据数据结构(字段值)统计和分析数据。 我发现Redis操作,这样的扫描不

我努力解决这个问题

我的项目需要存储大量的kv数据(其中K是id,值是一些示例MyData类),并以很快的速度从DB中通过id获取它。3天后,此数据必须过期(从数据库中删除)

根据这一点,我读了很多关于Redis的书,我们开始使用它。 我们对RAM没有问题:)所以一切都很好。我们的负载是每24小时在Redis中加载1000000条记录。所以72小时后,我们有大约300000条记录

问题是我们想要创建一个简单的分析服务,它将根据数据结构(字段值)统计和分析数据。 我发现Redis操作,这样的扫描不支持按值搜索。只有钥匙

我发现了一个小解决方案:将一些字段值连接到键中(例如“MyData:id7123718238,w788”)。听起来不错,但如果我们需要所有自定义查询,我们需要将所有值公开给Key,所以这很糟糕


请,有人,建议我其他的解决方案或只是建议我其他数据库类型。谢谢,在Redis中迭代大量数据看起来不是一个好方法。如果您想坚持使用Redis进行分析,请制作索引并支持它们:


但是,如果您计划进行扩展,则最好将数据流拆分为热存储(Redis)和分析(任何快速分析数据库)。把它们都写下来,询问在特定情况下什么更合适。

请参阅@GuyKorland谢谢!谢谢你觉得重新研究怎么样?有没有可能使用这样的搜索引擎进行分析?@MykhailoVoloshyn我对重新搜索知之甚少。这是一个搜索引擎,你想用它搜索什么?你想要什么样的分析之王?请记住,Redis并不擅长迭代大量数据(它会阻止插入)<如果您需要在一个工具中同时使用快速K-V和大型查询,则code>Tarantool更合适。但有了独立的分析数据库,您将获得更多。@MykhailoVoloshyn Redesearch为您提供了一种设置辅助索引并高效扫描它的简单方法。