cassandra通过java中的主键列表查找

2023-12-05

我正在实现一项功能,需要通过主键列表查找 Cassandra。

下面是一个示例数据,其中 id 是主键

mytable
id          column1
1           423
2           542
3           678
4           45534
5           435634
6           2435
7           678
8           4564
9           546

我的大多数查询都是通过 id 进行查找,但对于某些特殊情况,我想获取 id 列表的数据。 我目前正在做的方式如下:


public Object fetchFromCassandraForId(int id);

int ids[] = {1, 3, 5, 7, 9};
List<Object> results;
for(int id: ids) {
  results.add(fetchFromCassandraForId(id));
}

这会导致向 cassandra 发出多个网络调用,是否可以以某种方式批处理,因此我想知道 cassandra 是否支持通过 ids 列表快速查找

select coulmn1 from mytable where id in (1, 3, 5, 7, 9);

? 任何帮助或指示将不胜感激?


If the id是完整的主键,那么 Cassandra 支持这一点,尽管从性能角度来看不建议这样做:

  • 请求发送到协调节点
  • 协调器节点为每个节点找到一个副本id,并向他们发送单独的请求
  • 等待每个节点的结果,将它们收集到结果集并发回

结果:

  • 所有子查询都需要等待最慢的副本
  • 你有一个从协调器到副本的额外网络希望
  • 您给协调器节点施加了更大的压力,因为它需要将结果保存在内存中

如果您对每个请求执行大量并行、异步请求id来自应用程序的值,然后您:

  • 避免额外的跃点 - 如果您使用具有令牌感知负载平衡的准备好的语句,则查询将直接发送到副本
  • 当你得到结果时你可能会开始处理它们,而不是等待一切

因此,发送并行异步请求可能比发送一个请求更快IN...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

cassandra通过java中的主键列表查找 的相关文章

  • Grails 3.x bootRun 失败

    我正在尝试在 grails 3 1 11 中运行一个项目 但出现错误 失败 构建失败并出现异常 什么地方出了错 任务 bootRun 执行失败 进程 命令 C Program Files Java jdk1 8 0 111 bin java
  • 为什么 i++ 不是原子的?

    Why is i Java 中不是原子的 为了更深入地了解 Java 我尝试计算线程中循环的执行频率 所以我用了一个 private static int total 0 在主课中 我有两个线程 主题 1 打印System out prin
  • JAXb、Hibernate 和 beans

    目前我正在开发一个使用 Spring Web 服务 hibernate 和 JAXb 的项目 1 我已经使用IDE hibernate代码生成 生成了hibernate bean 2 另外 我已经使用maven编译器生成了jaxb bean
  • 无法展开 RemoteViews - 错误通知

    最近 我收到越来越多的用户收到 RemoteServiceException 错误的报告 我每次给出的堆栈跟踪如下 android app RemoteServiceException Bad notification posted fro
  • 多个 Maven 配置文件激活多个 Spring 配置文件

    我想在 Maven 中构建一个环境 在其中我想根据哪些 Maven 配置文件处于活动状态来累积激活多个 spring 配置文件 目前我的 pom xml 的相关部分如下所示
  • 操作错误不会显示在 JSP 上

    我尝试在 Action 类中添加操作错误并将其打印在 JSP 页面上 当发生异常时 它将进入 catch 块并在控制台中打印 插入异常时出错 请联系管理员 在 catch 块中 我添加了它addActionError 我尝试在jsp页面中打
  • Spring Data JPA 应用排序、分页以及 where 子句

    我目前正在使用 Spring JPA 并利用此处所述的排序和分页 如何通过Spring data JPA通过排序和可分页查询数据 https stackoverflow com questions 10527124 how to query
  • Mockito when().thenReturn 不必要地调用该方法

    我正在研究继承的代码 我编写了一个应该捕获 NullPointerException 的测试 因为它试图从 null 对象调用方法 Test expected NullPointerException class public void c
  • Spring @RequestMapping 带有可选参数

    我的控制器在请求映射中存在可选参数的问题 请查看下面的控制器 GetMapping produces MediaType APPLICATION JSON VALUE public ResponseEntity
  • 如何为俚语和表情符号构建正则表达式 (regex)

    我需要构建一个正则表达式来匹配俚语 即 lol lmao imo 等 和表情符号 即 P 等 我按照以下示例进行操作http www coderanch com t 497238 java java Regular Expression D
  • Java按日期升序对列表对象进行排序[重复]

    这个问题在这里已经有答案了 我想按一个参数对对象列表进行排序 其日期格式为 YYYY MM DD HH mm 按升序排列 我找不到正确的解决方案 在 python 中使用 lambda 很容易对其进行排序 但在 Java 中我遇到了问题 f
  • Java Integer CompareTo() - 为什么使用比较与减法?

    我发现java lang Integer实施compareTo方法如下 public int compareTo Integer anotherInteger int thisVal this value int anotherVal an
  • 在 Mac 上正确运行基于 SWT 的跨平台 jar

    我一直致力于一个基于 SWT 的项目 该项目旨在部署为 Java Web Start 从而可以在多个平台上使用 到目前为止 我已经成功解决了由于 SWT 依赖的系统特定库而出现的导出问题 请参阅相关thread https stackove
  • Java执行器服务线程池[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如果我使用 Executor 框架在
  • Google App Engine 如何预编译 Java?

    App Engine 对应用程序的 Java 字节码使用 预编译 过程 以增强应用程序在 Java 运行时环境中的性能 预编译代码的功能与原始字节码相同 有没有详细的信息这是做什么的 我在一个中找到了这个谷歌群组消息 http groups
  • 在mockito中使用when进行模拟ContextLoader.getCurrentWebApplicationContext()调用。我该怎么做?

    我试图在使用 mockito 时模拟 ContextLoader getCurrentWebApplicationContext 调用 但它无法模拟 here is my source code Mock org springframewo
  • 如何在桌面浏览器上使用 webdriver 移动网络

    我正在使用 selenium webdriver 进行 AUT 被测应用程序 的功能测试自动化 AUT 是响应式网络 我几乎完成了桌面浏览器的不同测试用例 现在 相同的测试用例也适用于移动浏览器 因为可以从移动浏览器访问 AUT 由于它是响
  • 声明的包“”与预期的包不匹配

    我可以编译并运行我的代码 但 VSCode 中始终显示错误 早些时候有一个弹出窗口 我不记得是什么了 我点击了 全局应用 从那以后一直是这样 Output is there but so is the error The declared
  • Firebase 添加新节点

    如何将这些节点放入用户节点中 并创建另一个节点来存储帖子 我的数据库参考 databaseReference child user getUid setValue userInformations 您需要使用以下代码 databaseRef
  • 节拍匹配算法

    我最近开始尝试创建一个移动应用程序 iOS Android 它将自动击败比赛 http en wikipedia org wiki Beatmatching http en wikipedia org wiki Beatmatching 两

随机推荐

  • 基于 dict 键生成 django 查询集

    我有一个像这样的字典 key1 val1 key2 val2 我需要一个像这样的查询集 Q key1 icontains val1 Q key2 icontains val2 Thanks reduce operator or Q key
  • 在 URL 中发送阿拉伯字符

    我有这些阿拉伯语句子 必须在 url 中发送 我尝试了这种方法 url http example com q urlencode 该编码的结果是 D9 86 D8 A7 D9 8A D8 AA D9 8A D8 AF D8 A3 D9 85
  • Azure 可用性集、故障域和更新域

    我是 Azure 新手 需要一些说明 将机器添加到可用性集中时 为了防止虚拟机重新启动 虚拟机的最佳策略是什么 请将它们放入 不同的更新域和故障域 相同的更新域 相同的故障域 我的逻辑是 将它们放在不同的更新域和故障域中就足够了 我用这个作
  • 将指向成员函数的指针转换为普通指针

    目前我有一个此类 为简单起见缩短了 class MyClass public MyClass void someFunc void param 现在我需要调用这种类型的函数 不是任何类的成员 不幸的是我不能变 但我还是需要打电话 void
  • 如何在上传之前获取 html 文件输入的视频分辨率?

    当我在 HTML 文件输入上选择视频文件时 我想获取视频分辨率 宽度和高度 和所有元数据 大小 长度 文件类型等 如果可能 我需要一个 js 或 jquery 解决方案 我找不到与该主题相关的任何内容 帮我解决这个问题 提前致谢 我找到了一
  • 如果请求缺少必需参数,我应该使用什么 HTTP 状态响应代码?

    我在想 412 前提条件失败 但可能有更好的标准吗 状态 422 似乎最合适 基于spec 422 不可处理的实体 状态代码表示服务器 了解请求实体的内容类型 因此 415 不支持的媒体类型 状态代码不合适 并且 请求实体的语法正确 因此是
  • 如何使用 PHP 检查 YouTube 上是否存在视频?

    如何使用 PHP 检查 YouTube 上是否存在视频 YouTube 支持oEmbed format 与 Pascal MARTIN 提供的 xml 响应相比 我的 3800 字节只需下载 600 字节 速度更快 占用的带宽更少 只有大小
  • 在自定义函数中从 WooCommerce 动态获取优惠券代码

    参考 仅当在 Woocommerce 中应用优惠券时才允许购买特定产品 我之前的问题之一的答案代码 优惠券代码是硬编码在函数中的 需要与 Woocommerce 中现有的优惠券代码进行匹配 但我想从 Woocommerce 动态选择优惠券
  • OpenShift webapps mysql java 连接

    我在 openshift 上有一个 JBoss EWS Tomcat 7 Java 应用程序 与 MySQL 5 5 和 PhpMyAdmin 4 0 盒一起安装 我已将存储库复制到本地 并删除了源文件夹 相反 我只是拥有一个已编译的 Ja
  • gettext 的替代品

    我们在产品中使用 gettext 进行翻译 但遇到了很多问题 除非系统支持 否则无法使用某种语言 在 Solaris 9 Sparc 上 如果我们将环境重置为各种英语语言环境 如果计算机没有相应的语言环境 则消息仍然不会被翻译 翻译文件存在
  • 访问子表单上的 2010 年审计跟踪

    我在获取为审计跟踪找到的代码以使用子表单时遇到问题 原始代码来自http www fontstuff com access acctut21 htm 我宁愿坚持这个代码而不是使用 Allen Browne 的代码http allenbrow
  • 保持 html dom 操作刷新

    我正在尝试仅使用 html 和 javascript 制作评论部分 当用户按下 post 时 我创建一个新的 dom 元素 但是当您刷新时 显然它会消失 我怎样才能让它永久添加 我想在没有数据库的情况下执行此操作 因为我以前从未使用过数据库
  • Xamarin.iOS 中的自定义 SQLite 函数

    我正在 Xamarin iOS 上开发 Sqlite 的自定义功能 我从这里得到答案 在给定半径内的地图上显示标记 Xamarin Android 但我遇到了问题 尝试 JIT 编译方法 包装本机到托管 Mono Data Sqlite S
  • 将 pandas 数据帧转换为字典时,日期从字符串更改为日期时间对象

    我有福尔 数据框 avi fi id dates 2017 07 17 0 318844 zab a 002 2017 07 17 当我将它转换成字典时 我得到 dict avi df reset index to dict records
  • C - 将用户生成的数字转换为单词的问题

    因此 我一直在学习 Kochan 的 C 语言编程 但在其中一个问题上遇到了障碍 如下所示 编写一个程序 获取从终端输入的整数 提取并用英语显示该整数的每一位数字 因此 如果用户输入 932 程序应显示以下内容 九三二 如果是 请记住显示零
  • angular.js:发送一些数据到 php-script

    这是我的 angular js SPA 模板 div div
  • 实体框架/C#:字符串数组中的多个包含?

    如果想使用Include 某些实体框架选择的方法 以避免 对象已释放 异常 但是 Include 只接受一个字符串作为参数 这意味着只包含一个 要进行多重包含 您必须链接包含 Include something Include someth
  • 为什么我的 32 位 Fortran/C DLL 无法在 MSYS2 中编译?

    我正在尝试在 MSYS2 中的 64 位 Windows 7 上编译具有混合 Fortran C 代码的 DLL msys2 x86 64 20160205 与海湾合作委员会 5 3 0 我想编译32位 如果我省略了 效果就很好 m32标志
  • 每个线程使用一个实体框架上下文是否安全? ... 是的?如何?

    可能这是两个问题合二为一 我每个请求使用一个 EF 上下文 但我想每个线程使用一个 EF 上下文 因为我将在请求期间在另一个线程中执行一些复杂的任务 那么 安全吗 如果答案是肯定的 那么该怎么做呢 如何在线程中存储对象并取回它们 先感谢您
  • cassandra通过java中的主键列表查找

    我正在实现一项功能 需要通过主键列表查找 Cassandra 下面是一个示例数据 其中 id 是主键 mytable id column1 1 423 2 542 3 678 4 45534 5 435634 6 2435 7 678 8