TcaplusDB|【深入理解TcaplusDB技术】替换列表指定位置数据示例代码——[List表]

本文准备工作 参见章节: [准备工作](https://tcaplusdb.tencent.com/UserGuide/04TcaplusDB SDK/03TDR表SDK/02TDR表JavaSDK/02TDR表JavaSDK示例代码/01准备工作.html)。
示例代码 示例代码

import com.tencent.tcaplus.client.Client; import com.tencent.tcaplus.client.ClientFactory; import com.tencent.tcaplus.client.Record; import com.tencent.tcaplus.client.Request; import com.tencent.tcaplus.client.Response; import com.tencent.tdr.tcaplus_protocol_cs.TcaplusProtocolCsConstants; import java.util.ArrayList; import java.util.List; public class Example {public static void main(String[] arguments) { // 1. 准备环境信息 // 1.1. 目录服务地址列表 List dirList = new ArrayList(); dirList.add("tcp://x.x.x.x:9999"); dirList.add("tcp://y.y.y.y:9999"); // 1.2. 业务ID int appId = 1; // 1.3. 业务密码 String appPassword = "****************"; // 1.4. 表格组ID int tableGroupId = 1; // 1.5. 表格名称 String tableName = "test"; // 2. 创建客户端 Client client = ClientFactory.createClient(appId, tableGroupId, appPassword, dirList); try { // 3. 构造替换数据的请求 // 3.1. 获取请求对象。为了提升SDK性能,Request对象是复用的 Request request = client.acquireRequest(); // 3.2. 设置请求类型和目标表名 request.setCmd(TcaplusProtocolCsConstants.TCAPLUS_CMD_LIST_REPLACE_REQ); request.setTableName(tableName); // 3.3. 由于List表中,可以多个Key相同的数据,因此调用些接口时, //需要指定替换数据列表中的第几个数据,本例中的0,表示取第1个,以此类推 Record record = request.addRecord(0); // 3.4. 设置列表各Key字段的值。说明:Key字段值是不允许更新的 record.setKeyInt("gameid", 1); record.setKeyInt("itemid", 1); record.setKeyString("name", "test"); // 3.5. 设置各Value字段的新值 record.setValueByte("typeid", (byte) 1); record.setValueByte("Data", (byte) 1); record.setValueString("uname", "test"); // 4. 发送请求,并获取结果 Response response = client.poll(request); // 5. 处理结果 if (response.getResult() == 0) { // 替换数据成功 // TODO 可在此处添加数据替换成功的后续处理代码 } else { // 替换数据失败 // TODO 可在此处添加数据替换失败的后续处理代码 } } finally { // 6. 销毁客户端对象 ClientFactory.destroyClient(client); } }}

【TcaplusDB|【深入理解TcaplusDB技术】替换列表指定位置数据示例代码——[List表]】TcaplusDB|【深入理解TcaplusDB技术】替换列表指定位置数据示例代码——[List表]
文章图片

TcaplusDB是腾讯出品的分布式NoSQL数据库,存储和调度的代码完全自研。具备缓存+落地融合架构、PB级存储、毫秒级时延、无损水平扩展和复杂数据结构等特性。同时具备丰富的生态、便捷的迁移、极低的运维成本和五个九高可用等特点。客户覆盖游戏、互联网、政务、金融、制造和物联网等领域。

    推荐阅读