cassandra新增、更新、删除数据。

本文详细介绍了Cassandra数据库中如何进行数据的插入、更新和删除操作,包括使用CQL命令和理解其背后的数据一致性保证。通过实例解析了Cassandra的数据操作流程及其在分布式系统中的应用。
摘要由CSDN通过智能技术生成
package client;

import java.io.UnsupportedEncodingException;
import java.nio.ByteBuffer;
import java.util.List;

import org.apache.cassandra.thrift.Cassandra;
import org.apache.cassandra.thrift.Column;
import org.apache.cassandra.thrift.ColumnOrSuperColumn;
import org.apache.cassandra.thrift.ColumnParent;
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.SlicePredicate;
import org.apache.cassandra.thrift.SliceRange;
import org.apache.cassandra.thrift.TimedOutException;
import org.apache.cassandra.thrift.UnavailableException;
import org.apache.thrift.TException;
import org.apache.thrift.protocol.TBinaryProtocol;
import org.apache.thrift.protocol.TProtocol;
import org.apache.thrift.transport.TFramedTransport;
import org.apache.thrift.transport.TSocket;
import org.apache.thrift.transport.TTransport;

public class CClient
{
    public static void main(String[] args)
    throws TException, InvalidRequestException, UnavailableException, UnsupportedEncodingException, NotFoundException, TimedOutException
    {
        //建立连接
        TTransport tr = new TFramedTransport(new TSocket("127.0.0.1", 9160));
        TProtocol proto = new TBinaryProtocol(tr);
        Cassandra.Client client = new Cassandra.Client(proto);
        tr.open();

        String key_user_id = "1";

        // insert data
        long timestamp = System.currentTimeMillis();
        //相当于DB NAME
        client.set_keyspace("DEMO");      
        //相当于DB Table
        ColumnParent parent = new ColumnParent("Users");
        //字段名
        Column nameColumn = new Column(toByteBuffer("name"));
        //字段值
        nameColumn.setValue(toByteBuffer("scott"));
        //插入时间
        nameColumn.setTimestamp(timestamp);
        //将数据添加到cassandra
        client.insert(toByteBuffer(key_user_id), parent, nameColumn, ConsistencyLevel.ONE);
        //字段名
        Column ageColumn = new Column(toByteBuffer("password"));
        //字段值
        ageColumn.setValue(toByteBuffer("tiger"));
        //插入时间
        ageColumn.setTimestamp(timestamp);
        //将数据添加到cassandra
        client.insert(toByteBuffer(key_user_id), parent, ageColumn, ConsistencyLevel.ONE);
        //得到相当于DB Table
        ColumnPath path = new ColumnPath("Users");

        // read single column
        path.setColumn(toByteBuffer("name"));
        System.out.println(client.get(toByteBuffer(key_user_id), path,
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值