欢迎投稿

今日深度:

还是Ruby 性感,Ruby性感

还是Ruby 性感,Ruby性感


今天看到一篇Cassandra的技术文章,原文在这里

呵呵,Cassandra 到时其次,不过ruby 的确很性感

 

java要写这么多

package com.test.cassandra;| 
 import java.io.UnsupportedEncodingException; 
 import org.apache.thrift.transport.TTransport; 
 import org.apache.thrift.transport.TSocket; 
 import org.apache.thrift.protocol.TProtocol; 
 import org.apache.thrift.protocol.TBinaryProtocol; 
 import org.apache.thrift.TException; 
 import org.apache.cassandra.thrift.Cassandra; 
 import org.apache.cassandra.thrift.Column; 
 import org.apache.cassandra.thrift.ColumnOrSuperColumn; 
 import org.apache.cassandra.thrift.ColumnPath; 
 import org.apache.cassandra.thrift.ConsistencyLevel; 
 import org.apache.cassandra.thrift.InvalidRequestException; 
 import org.apache.cassandra.thrift.NotFoundException; 
 import org.apache.cassandra.thrift.TimedOutException; 
 import org.apache.cassandra.thrift.UnavailableException; 
 /* 
 * 使 Java 客户端连接 Cassandra 并进行读写操作
 * @author jimmy 
 * @date 2010-04-10 
 */ 
 public class JCassandraClient{ 
 public static void main(String[] args) throws InvalidRequestException, 
 NotFoundException, UnavailableException, TimedOutException, 
 TException, UnsupportedEncodingException { 

 // 建立数据库连接
 TTransport tr = new TSocket("192.168.10.2", 9160); 
 TProtocol proto = new TBinaryProtocol(tr); 
 Cassandra.Client client = new Cassandra.Client(proto); 
 tr.open(); 
 String keyspace = "Keyspace1"; 
 String cf = "Standard2"; 
 String key = "studentA"; 
 // 插入数据
 long timestamp = System.currentTimeMillis(); 
 ColumnPath path = new ColumnPath(cf); 
 path.setColumn("age".getBytes("UTF-8")); 
 client.insert(keyspace,key,path,"18".getBytes("UTF-8"), 
 timestamp,ConsistencyLevel.ONE); 
 path.setColumn("height".getBytes("UTF-8")); 
 client.insert(keyspace,key,path,"172cm".getBytes("UTF-8"), 
 timestamp,ConsistencyLevel.ONE); 
 // 读取数据
 path.setColumn("height".getBytes("UTF-8")); 
 ColumnOrSuperColumn cc = client.get(keyspace, key, path, ConsistencyLevel.ONE); 
 Column c = cc.getColumn(); 
 String v = new String(c.value, "UTF-8"); 
        // 关闭数据库连接
 tr.close(); 
 } 
 } 

 

PHP要写这么多

 <?php 
 $GLOBALS['THRIFT_ROOT'] = '/usr/share/php/Thrift'; 
 require_once 
 $GLOBALS['THRIFT_ROOT'].'/packages/cassandra/Cassandra.php'; 
 require_once 
 $GLOBALS['THRIFT_ROOT'].'/packages/cassandra/cassandra_types.php'; 
 require_once $GLOBALS['THRIFT_ROOT'].'/transport/TSocket.php'; 
 require_once $GLOBALS['THRIFT_ROOT'].'/protocol/TBinaryProtocol.php'; 
 require_once 
 $GLOBALS['THRIFT_ROOT'].'/transport/TFramedTransport.php'; 
 require_once 
 $GLOBALS['THRIFT_ROOT'].'/transport/TBufferedTransport.php'; 
 try { 
 // 建立 Cassandra 连接
 $socket = new TSocket('192.168.10.2', 9160); 
 $transport = new TBufferedTransport($socket, 1024, 1024); 
 $protocol = new TBinaryProtocolAccelerated($transport); 
 $client = new CassandraClient($protocol); 
 $transport->open(); 
 $keyspace = 'Keyspace1'; 
 $keyUser = "studentA"; 
 $columnPath = new cassandra_ColumnPath(); 
 $columnPath->column_family = 'Standard1'; 
 $columnPath->super_column = null; 
 $columnPath->column = 'age'; 
 $consistency_level = cassandra_ConsistencyLevel::ZERO; 
 $timestamp = time(); 
 $value = "18"; 
 // 写入数据
 $client->insert($keyspace, $keyUser, $columnPath, $value, 
                            $timestamp, $consistency_level); 
 $columnParent = new cassandra_ColumnParent(); 
 $columnParent->column_family = "Standard1"; 
 $columnParent->super_column = NULL; 
 $sliceRange = new cassandra_SliceRange(); 
 $sliceRange->start = ""; 
 $sliceRange->finish = ""; 
 $predicate = new cassandra_SlicePredicate(); 
 list() = $predicate->column_names; 
 $predicate->slice_range = $sliceRange; 
 $consistency_level = cassandra_ConsistencyLevel::ONE; 
 $keyUser = studentA; 
 // 查询数据
 $result = $client->get_slice($keyspace, $keyUser, $columnParent, 
             $predicate, $consistency_level); 
 // 关闭连接
 $transport->close(); 
 } catch (TException $tx) { 
 }?> 

 

Python要写这么多

from thrift import Thrift 
 from thrift.transport import TTransport 
 from thrift.transport import TSocket 
 from thrift.protocol.TBinaryProtocol import 
 TBinaryProtocolAccelerated 
 from cassandra import Cassandra 
 from cassandra.ttypes import * 
 import time 
 import pprint 
 def main(): 
 socket = TSocket.TSocket("192.168.10.2", 9160) 
 transport = TTransport.TBufferedTransport(socket) 
 protocol = TBinaryProtocol.TBinaryProtocolAccelerated(transport) 
 client = Cassandra.Client(protocol) 
 pp = pprint.PrettyPrinter(indent=2) 
 keyspace = "Keyspace1"
 column_path = ColumnPath(column_family="Standard1", column="age") 
 key = "studentA"
 value = "18 "
 timestamp = time.time() 
 try: 
 # 打开数据库连接
 transport.open() 
 # 写入数据
 client.insert(keyspace,key,column_path, 
 value,timestamp,ConsistencyLevel.ZERO) 
 # 查询数据
 column_parent = ColumnParent(column_family="Standard1") 
 slice_range = SliceRange(start="", finish="") 
 predicate = SlicePredicate(slice_range=slice_range) 
 result = client.get_slice(keyspace,key,column_parent, 
 predicate,ConsistencyLevel.ONE) 
 pp.pprint(result) 
 except Thrift.TException, tx: 
 print 'Thrift: %s' % tx.message 
 finally: 
 # 关闭连接
 transport.close() 
 if __name__ == '__main__': 
 main() 
 

C#要写这么多

 namespace CshareCassandra{ 
 using System; 
 using System.Collections.Generic; 
 using System.Diagnostics; 
 using Apache.Cassandra; 
 using Thrift.Protocol; 
 using Thrift.Transport; 
 class CassandraClient{ 
 static void Main(string[] args){ 
 // 建立数据库连接
 TTransport transport = new TSocket("192.168.10.2", 9160); 
 TProtocol protocol = new TBinaryProtocol(transport); 
 Cassandra.Client client = new Cassandra.Client(protocol); 
 transport.Open(); 
 System.Text.Encoding utf8Encoding = System.Text.Encoding.UTF8; 
 long timeStamp = DateTime.Now.Millisecond; 
 ColumnPath nameColumnPath = new ColumnPath(){ 
 Column_family = "Standard1", 
 Column = utf8Encoding.GetBytes("age")}; 
   // 写入数据
 client.insert("Keyspace1","studentA",nameColumnPath, 
 utf8Encoding.GetBytes("18"),timeStamp, ConsistencyLevel.ONE); 
 // 读取数据
 ColumnOrSuperColumn returnedColumn = client.get("Keyspace1", 
            "studentA", nameColumnPath, ConsistencyLevel.ONE); 
        Console.WriteLine("Keyspace1/Standard1: age: {0}, value: {1}", 
                     utf8Encoding.GetString(returnedColumn.Column.Name), 
                     utf8Encoding.GetString(returnedColumn.Column.Value)); 
 // 关闭连接
 transport.Close(); 
 } 
 }} 

 

Ruby来了

 > require 'rubygems' 
 > require 'cassandra'
 # 建立数据库连接 
 > cdb = Cassandra.new('Keyspace1',"192.168.10.1:9160", :retries => 3) 
 # 写入数据
 > cdb.insert(:Standard1, 'studentA', {'age' => '18'}) 
 # 读取数据
 > cdb.get(:Standard1, :studentA) 
 # 关闭连接
 > cdb.disconnect 
 

www.htsjk.Com true http://www.htsjk.com/cassandra/33850.html NewsArticle 还是Ruby 性感,Ruby性感 今天看到一篇Cassandra的技术文章,原文在这里 呵呵,Cassandra 到时其次,不过ruby 的确很性感   java要写这么多 package com.test.cassandra;| import java.io.UnsupportedEncodingE...
相关文章
    暂无相关文章
评论暂时关闭