Cassandra:如何在单个客户端请求中发送多个写/读请求?

时间:2014-01-27 07:24:24

标签: java cassandra pipeline

我正在开发一个应用程序,我需要向cassandra服务器发送多个请求。各个请求是一种写/读请求,执行间隔很短。我正在观察往返时间的主要瓶颈。

我可以将请求传递给cassandra以避免RTT,就像Redis中的流水线一样。

1 个答案:

答案 0 :(得分:1)

如果您使用的是Cassandra 1.2或更高版本,则可以使用BATCH汇总多个INSERT / UPDATE语句。

例如:

BEGIN BATCH
  INSERT INTO users (userid, password, name)
      VALUES ('user2', 'ch@ngem3b', 'second user');
  UPDATE users SET password = 'ps22dhds' WHERE userid = 'user3';
  INSERT INTO users (userid, password) VALUES ('user4', 'ch@ngem3c');
  DELETE name FROM users WHERE userid = 'user1';
APPLY BATCH;

See CQL3 Batch documentation