Cassandra2.0以後的新API類和介面總結
總的來說,cassandra新增了一個包,名字:com.datastax.driver.core
這個包提供了很多api類和介面,讓在程式碼中對cassandra資料庫的操作變得更容易和更簡潔了。
首先從建立一個連線說起
1. com.datastax.driver.core.PoolingOptions連線池類
PoolingOptions pools = new PoolingOptions();
pools.setCoreConnectionsPerHost(HostDistance.LOCAL,2);//和叢集中每臺機器最少儲存著兩個連線
pools.setMaxConnectionsPerHost(HostDistance.LOCAL,100);//和叢集中每臺機器最多100個連線
pools.setIdleTimeoutSeconds(10);//超時時間
pools.setMaxRequestsPerConnection(HostDistance.LOCAL,100);//每個連線最多接受100個請求
2. com.datastax.driver.core.Cluster叢集類
Clustercluster= new Cluster.Builder()
.addContactPoints(dataStaxConfig.getHosts()).withPort(dataStaxConfig.getPort())
.withPoolingOptions(pools)
.withSocketOptions(newSocketOptions().setTcpNoDelay(true)
.setSendBufferSize(dataStaxConfig.getSendBufferSize())
.setReceiveBufferSize(dataStaxConfig.getReceiveBufferSize())
.setConnectTimeoutMillis(6000)
.setReadTimeoutMillis(180000)
) .build();
-- dataStaxConfig.getHosts()核心節點ip,dataStaxConfig.getPort()埠,.withPoolingOptions(pools)繫結的執行緒池,withSocketOptions網路互動sock的引數配置
3.com.datastax.driver.core.Session會話類
Session session =cluster.connect(dataStaxConfig.getKeyspaceName());//選擇某個表空間,獲得會話控制代碼,通過該會話控制代碼操作cassandra資料庫,比如Session.execute(String cql)
4. 各種Statement類
跟jdbc不同,cassandra雖然也提供各種Statement類,但是用法卻不一樣。Jdbc是用Statement. Execute(sql),而cassandra是用Session.execute(Statement)
比如SimpleStatement
SimpleStatementStatement s = new SimpleStatement("select * from zrf_test");
session.execute(s);
比如BoundStatement / PreparedStatement
PreparedStatement pre=getSession().prepare("select * fromzrf_test where serid=? ");
pre.setConsistencyLevel(type);//設定資料一致性
BoundStatementboundStatement = new BoundStatement(pre);
boundStatement.bind(“123”);
比如BatchStatement/BuiltStatement
因為這兩個不是常用的,以後再完善
5.com.datastax.driver.core.ResultSet
ResultSetresult= session. .execute(boundStatement);
--總而言之,獲取連線會話操作sql語句的整個正常流程就是這樣了,時間衝忙,趕著回去看電影,後續再完善。