php程序使用cassandra

PHP 程序使用 Cassandra

在 PHP 代码中使用 Cassandra,需要借助 Thrift 来生成需要的 PHP 文件,通过使用 thrift --gen php interface/cassandra.thrift 生成所需要的 PHP 文件,生成的 PHP 文件中提供了与 Cassandra 建立连接、读写数据时所需要的函数。

 <?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) { 
 }?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值