1
我正在處理一個應用程序,我需要向cassandra服務器發送多個請求。個別請求是一種寫/讀請求,執行時間很短。我正在觀察往返時間的一個主要瓶頸。Cassandra:如何在單個客戶端請求中發送多個寫入/讀取請求?
我可以將請求傳遞給cassandra以避免RTT,就像Redis中的流水線一樣。
我正在處理一個應用程序,我需要向cassandra服務器發送多個請求。個別請求是一種寫/讀請求,執行時間很短。我正在觀察往返時間的一個主要瓶頸。Cassandra:如何在單個客戶端請求中發送多個寫入/讀取請求?
我可以將請求傳遞給cassandra以避免RTT,就像Redis中的流水線一樣。
如果您使用的是Cassandra 1.2或更高版本,則可以使用BATCH
來包裝多個INSERT
/UPDATE
語句。
例如:
BEGIN BATCH
INSERT INTO users (userid, password, name)
VALUES ('user2', '[email protected]b', 'second user');
UPDATE users SET password = 'ps22dhds' WHERE userid = 'user3';
INSERT INTO users (userid, password) VALUES ('user4', '[email protected]');
DELETE name FROM users WHERE userid = 'user1';
APPLY BATCH;
我們可以以某種方式做類似的事情閱讀,就像一個多功能的功能。我明白,批次不能完成讀取。我可以使用SELECT IN,但是我不能動態地使用變量綁定變量。 –
編輯了這個問題。 –