云龙微网站开发seo技术专员招聘

news/2025/9/28 0:41:06/文章来源:
云龙微网站开发,seo技术专员招聘,租云服务器一个月多少钱,济南网站制作建设表格存储Tablestore入门手册系列主要介绍表格存储的各个功能接口和适用场景#xff0c;帮助客户了解和使用表格存储Tablestore。本文对表格存储Tablestore的UpdateRow接口进行介绍#xff0c;包括其参数、功能示例、使用场景等。 接口概述 UpdateRow接口是表格存储Tablestor…表格存储Tablestore入门手册系列主要介绍表格存储的各个功能接口和适用场景帮助客户了解和使用表格存储Tablestore。本文对表格存储Tablestore的UpdateRow接口进行介绍包括其参数、功能示例、使用场景等。 接口概述 UpdateRow接口是表格存储Tablestore提供的基础读写接口之一用于对某一行进行更新操作若指定行不存在UpdateRow也可以用于新增一行。这里的更新包括新增、修改或删除某一列如果使用了多版本功能也可以对某列中指定的版本进行新增、修改或删除。此外在接口参数中也可以指定条件仅当满足条件时进行更新。下面详细介绍该接口的参数和功能。 接口参数说明 API定义和参数说明 首先是UpdateRow接口的API定义 message UpdateRowRequest {required string table_name 1;required bytes row_change 2;required Condition condition 3;optional ReturnContent return_content 4; }message UpdateRowResponse {required ConsumedCapacity consumed 1;optional bytes row 2; } API定义中的具体参数说明见官网API文档https://help.aliyun.com/document_detail/27307.html SDK接口和参数说明 在项目代码中对表格存储Tablestore进行读写操作是通过表格存储Tablestore发布的各语言SDK进行的SDK对API进行了封装内部自动处理了请求的编码和响应的解析等。因此对于表格存储Tablestore的使用者来说只需要熟悉SDK的接口即可。 下面以Java SDK为例介绍SDK中的UpdateRow接口和参数。 接口定义 同步接口(SyncClient): /*** 更新表中的一行数据。* p若要更新的行不存在则新写入一行数据。/p* p更新操作可以包括新写入一个属性列或者删除一个属性列的一个或多个版本。/p** param updateRowRequest 执行UpdateRow操作所需的参数。* return TableStore服务返回的结果* throws TableStoreException TableStore服务返回的异常* throws ClientException 请求的返回结果无效、或遇到网络异常*/public UpdateRowResponse updateRow(UpdateRowRequest updateRowRequest)throws TableStoreException, ClientException; 异步接口(AsyncClient): /*** 更新表中的一行数据。* p若要更新的行不存在则新写入一行数据。/p* p更新操作可以包括新写入一个属性列或者删除一个属性列的一个或多个版本。/p** param updateRowRequest 执行UpdateRow操作所需的参数。* param callback 请求完成后调用的回调函数可以为null则代表不需要执行回调函数* return 获取结果的Future* throws TableStoreException TableStore服务返回的异常* throws ClientException 请求的返回结果无效、或遇到网络异常*/public FutureUpdateRowResponse updateRow(UpdateRowRequest updateRowRequest, TableStoreCallbackUpdateRowRequest, UpdateRowResponse callback); 具体参数说明 变量类型说明备注UpdateRowRequestUpdateRow接口的请求类型具体内容见后续说明。 UpdateRowResponseUpdateRow接口的返回结果具体内容见后续说明。 TableStoreCallback callbackUpdateRow接口的异步回调函数。仅适用于异步接口。Future异步接口的UpdateRow接口返回结果。仅适用于异步接口。 异步接口调用后不等待请求结束立即返回future通过future.get()可以获取实际接口响应的结果。UpdateRowRequest参数说明 具体参数说明 变量类型说明备注TxnRequest(基类)抽象类包含TransactionId成员变量继承该类的请求类型可用于局部事务中。TransactionId的使用可参考局部事务的文档。UpdateRowRequestUpdateRow接口的请求类型包含一个成员变量RowUpdateChange。 继承自TxnRequest表示该请求可用于局部事务中。 RowUpdateChange本次更新的具体请求参数。 RowUpdateChange参数说明 具体参数说明 变量类型类说明成员变量或接口说明RowChange(基类)RowUpdateChange的基类提供了设置表名、主键、更新条件、返回类型等通用参数。tableName指定本次更新要操作的表名。  primaryKey指定本次要更新的行的主键。  condition指定本次更新操作的条件可选。  returnType枚举类型默认为RT_NONE表示不返回行的内容此外还有两种值 (1)RT_PK: 返回主键适用于使用主键自增列功能的场景用于返回系统生成的自增主键值。 (2)RT_AFTER_MODIFY: 返回修改的列的数据适用于使用了原子加功能的场景用于返回原子加之后某一列的值。此时需要设置returnColumnNames。  returnColumnNames当returnType为RT_AFTER_MODIFY时指定要返回的被修改的列的列名(适用于原子加的场景)。RowUpdateChangeUpdateRow的具体请求参数继承自RowChange类。put(String columnName, ColumnValue value)新增或修改某一列的值。 (系统内部会为该列生成一个新的版本号单版本模式下无须关心该版本号)  put(String columnName, ColumnValue value, long version)新增或修改某一列的某一个版本。 (适用于多版本模式手动指定版本号写入)  put(Column column)功能同上述put接口只是参数使用Column类型进行了封装。  put(List column)功能同上述put接口只是参数为多列。  deleteColumns(String columnName)删除某列多版本模式下会删除该列全部版本。  deleteColumn(String columnName, long version)删除某列的指定版本适用于多版本模式下对特定版本进行删除。  increment(Column column)对某列进行原子加操作仅适用于整型类型。Condition本次更新的条件。可以指定行存在性条件和列条件列条件比如“某列的值大于5”。rowExistenceExpectation行存在性条件枚举类型有以下三种值 (1) IGNORE不对行存在性进行判断默认即为IGNORE。 (2) EXPECT_EXIST: 期望该行存在若不存在请求会报错。 (3) EXPECT_NOT_EXIST期望该行不存在若存在请求会报错。 注意 通常情况下若没有特殊的设置条件的需求使用IGNORE即可(保持默认可不做设置)此时写入性能也更好。  columnCondition列条件可以设置单列条件(SingleColumnValueCondition)也可以设置多列组合条件(CompositeColumnValueCondition)具体见条件更新的文档。UpdateRowResponse参数说明 具体参数说明 变量类型成员变量或接口说明Response(基类)requestId本次请求服务端返回的requestId用于问题调查建议在出错时打印到业务日志中。 traceId本次请求SDK生成的traceId用于问题调查建议在出错时打印到业务日志中。UpdateRowResponseconsumedCapacity本次请求消耗的读写CU用于计费。 row默认情况下为null仅当请求中returnType设置为返回PK(RT_PK)或者某列修改后的值(RT_AFTER_MODIFY)时返回对应的内容。功能示例 所有示例代码可以在Tablestore-Examples项目中查看。 Github地址https://github.com/aliyun/tablestore-examples/tree/master/basic/Java/DataManage/src/main/java/com/aliyun/tablestore/basic/dataManage 基本更新操作 UpdateRow接口最常用的场景是对某一行写入一些列或者删除一些列。通常业务使用单版本表比较多此时可以忽略列上多版本的概念按照每列只有一个值来理解。此时UpdateRow就是用于新增、修改或删除某些列。 新增若写入的属性列之前不存在UpdateRow执行后会新增该列。 修改若写入的属性列之前已经有值UpdateRow执行后会修改该列的值。 删除UpdateRow可以用于删除某些列若该列之前就不存在则无影响不会报错。 示例代码 下面的代码执行一次UpdateRow操作对某一行新增两列删除一列。 public void updateRowNormally() {PrimaryKey primaryKey PrimaryKeyBuilder.createPrimaryKeyBuilder().addPrimaryKeyColumn(PK1, PrimaryKeyValue.fromLong(1L)).addPrimaryKeyColumn(PK2, PrimaryKeyValue.fromString(string)).build();/*** 构造RowUpdateChange设置表名和主键*/RowUpdateChange rowChange new RowUpdateChange(TABLE_NAME, primaryKey);/*** 写入两列*/rowChange.put(col_str, ColumnValue.fromString(value1));rowChange.put(col_long, ColumnValue.fromLong(1));/*** 删除某列*/rowChange.deleteColumns(col_to_delete);/*** 构造UpdateRowRequest*/UpdateRowRequest updateRowRequest new UpdateRowRequest(rowChange);/*** 调用updateRow接口。若之前该行不存在系统会新增该行。*/UpdateRowResponse updateRowResponse syncClient.updateRow(updateRowRequest);/*** 打印requestID*/System.out.printf(UpdateRowSuccess, request id: %s\n, updateRowResponse.getRequestId());} 使用UpdateRow新增、修改或者删除某些列是最基础的单行数据更新操作也是很常用的场景。 但在某些场景中若使用了表格存储Tablestore的多版本功能可能会有新增或修改某一列的某个特定版本的需求或者是需要删除某一列的某一个版本此时就需要指定时间戳来更新或删除见下面的示例。 指定版本操作 对于设置了保留多版本的表每一列上都会保留最新的N个版本UpdateRow可以对其中某个特定版本进行更新也可以删除某个特定版本。 示例代码 下面的代码执行一次UpdateRow操作对某一行写入两列指定版本号写入同时删除某列的某个版本也需要指定要删除的版本号。 注意在指定版本号时需要保证该版本号在表上设置的最大版本偏差内若超出该偏差范围可以调整表上的最大版本偏差设置。 public void updateRowMultiVersion() {PrimaryKey primaryKey PrimaryKeyBuilder.createPrimaryKeyBuilder().addPrimaryKeyColumn(PK1, PrimaryKeyValue.fromLong(1L)).addPrimaryKeyColumn(PK2, PrimaryKeyValue.fromString(string)).build();/*** 构造RowUpdateChange设置表名和主键*/RowUpdateChange rowChange new RowUpdateChange(TABLE_NAME, primaryKey);long version System.currentTimeMillis();/*** 写入两列指定版本号。* 若指定的版本之前不存在则会新增一个版本若该版本已存在会修改该版本的值。*/rowChange.put(col_str, ColumnValue.fromString(value1), version);rowChange.put(col_long, ColumnValue.fromLong(1), version);/*** 删除某列的某一个版本指定版本号。*/rowChange.deleteColumn(col_to_delete, version);/*** 构造UpdateRowRequest*/UpdateRowRequest updateRowRequest new UpdateRowRequest(rowChange);/*** 调用updateRow接口。若之前该行不存在系统会新增该行。*/UpdateRowResponse updateRowResponse syncClient.updateRow(updateRowRequest);/*** 打印requestID*/System.out.printf(UpdateRowSuccess, request id: %s\n, updateRowResponse.getRequestId());} 条件更新 UpdateRow接口可以设置更新条件仅当满足条件时才进行更新条件包括行存在性条件和列条件。 行存在性条件在更新前检查该行存在或不存在仅当符合期望时才进行更新操作否则抛错。 列条件目前支持 SingleColumnValueCondition 和 CompositeColumnValueCondition是基于某一列或者某些列的列值进行条件判断比如“col_long的值应该大于5”等。基于列条件可以使用表格存储Tablestore实现分布式的乐观锁机制。 条件更新的功能文档https://help.aliyun.com/document_detail/35194.html 示例代码 设置行存在性条件和列条件 public void updateRowWithCondition() {PrimaryKey primaryKey PrimaryKeyBuilder.createPrimaryKeyBuilder().addPrimaryKeyColumn(PK1, PrimaryKeyValue.fromLong(1L)).addPrimaryKeyColumn(PK2, PrimaryKeyValue.fromString(string)).build();/*** 构造RowUpdateChange设置表名和主键*/RowUpdateChange rowChange new RowUpdateChange(TABLE_NAME, primaryKey);/*** 设置行存在条件为期望行存在*/Condition condition new Condition(RowExistenceExpectation.EXPECT_EXIST);/*** 设置列条件若只需要检查行存在性可以不设置列条件。** 这里设置列条件为两列的组合条件 (col_boolean true) (col_long 0)*/CompositeColumnValueCondition colCondition new CompositeColumnValueCondition(CompositeColumnValueCondition.LogicOperator.AND);SingleColumnValueCondition subColCondition1 new SingleColumnValueCondition(col_boolean,SingleColumnValueCondition.CompareOperator.EQUAL,ColumnValue.fromBoolean(true));subColCondition1.setPassIfMissing(true); // setPassIfMissing(true)表示若该列不存在也视为满足条件。SingleColumnValueCondition subColCondition2 new SingleColumnValueCondition(col_long,SingleColumnValueCondition.CompareOperator.GREATER_THAN,ColumnValue.fromLong(0L));colCondition.addCondition(subColCondition1).addCondition(subColCondition2);subColCondition2.setPassIfMissing(false); // setPassIfMissing(false)表示若该列不存在视为不满足条件。condition.setColumnCondition(colCondition);rowChange.setCondition(condition);/*** 满足条件时写入两列*/rowChange.put(col_str, ColumnValue.fromString(value1));rowChange.put(col_long, ColumnValue.fromLong(1));/*** 构造UpdateRowRequest*/UpdateRowRequest updateRowRequest new UpdateRowRequest(rowChange);/*** 调用updateRow接口。* 若不满足设置的条件比如该行不存在或者不满足列条件会抛OTSExceptionErrorCode为OTSConditionCheckFail.*/UpdateRowResponse updateRowResponse syncClient.updateRow(updateRowRequest);/*** 打印requestID*/System.out.printf(UpdateRowSuccess, request id: %s\n, updateRowResponse.getRequestId());} 原子计数器 UpdateRow支持对某一整型列进行原子加操作原子加操作可以原子的对某一整型列的数据进行增量变更操作比如在原来的基础上加10或者减5等等。原子加操作可以用来构造原子计数器。 原子计数器的功能文档https://help.aliyun.com/document_detail/90949.html 示例代码 public void updateRowIncrement() {PrimaryKey primaryKey PrimaryKeyBuilder.createPrimaryKeyBuilder().addPrimaryKeyColumn(PK1, PrimaryKeyValue.fromLong(1L)).addPrimaryKeyColumn(PK2, PrimaryKeyValue.fromString(string)).build();/*** 构造RowUpdateChange设置表名和主键*/RowUpdateChange rowChange new RowUpdateChange(TABLE_NAME, primaryKey);String columnName col_long;/*** 对col_long这一列进行原子加100操作。* 若该列之前不存在会从0开始累加。*/rowChange.increment(new Column(columnName, ColumnValue.fromLong(100)));/*** 设置返回修改后的该列值。*/rowChange.setReturnType(ReturnType.RT_AFTER_MODIFY);rowChange.addReturnColumn(columnName);/*** 构造UpdateRowRequest*/UpdateRowRequest updateRowRequest new UpdateRowRequest(rowChange);/*** 调用updateRow接口。若之前该行不存在系统会新增该行。*/UpdateRowResponse updateRowResponse syncClient.updateRow(updateRowRequest);/*** 打印修改后的该列的值和RequestId*/System.out.printf(UpdateRowSuccess, column [%s] was updated to %d, request id: %s\n,columnName,updateRowResponse.getRow().getLatestColumn(columnName).getValue().asLong(),updateRowResponse.getRequestId());} 原文链接 本文为阿里云原创内容未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/920130.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

广东省建设安全协会网站html5商城网站

函数有自己的类型,可以像使用基础类型一样使用函数,包括将函数保存在变量中、保存在 vec 中、声明在结构体成员字段中。闭包函数也是函数,也有自己的类型定义。不过,函数实际上是指针类型,在 rust 所有权中属于借用的关…

使用 preact 渲染组件到任何元素

import { render } from preactconst frag = document.createDocumentFragment() render(<CustomComponent />, frag)const container = document.querySelector(#container) as HTMLElement container.prepend(…

网站怎么申请微信认证wordpress后台如何设置为中文

求单源最短路的SPFA算法的全称是&#xff1a;Shortest Path Faster Algorithm。 SPFA算法是西南交通大学段凡丁于1994年发表的。 从名字我们就可以看出&#xff0c;这种算法在效率上一定有过人之处。 很多时候&#xff0c;给定的图存在负权边&#xff0c;这时类似…

徐州网站建设系统电子商务网站的建设课件

a[[app,ap,ade],[er],[bcc,brt]] 将这么一个list 转换成 a2[app,ap,ade,er,bcc,brt] 做法&#xff1a;a2[x for tup in a for x in tup] 转载于:https://www.cnblogs.com/cheng-cheng/p/10027446.html

万户网络网站建设网页设计常用代码

十七、MyBatis的注解式开发 mybatis中也提供了注解式开发方式&#xff0c;采用注解可以减少Sql映射文件的配置。 当然&#xff0c;使用注解式开发的话&#xff0c;sql语句是写在java程序中的&#xff0c;这种方式也会给sql语句的维护带来成本。 官方是这么说的&#xff1a; 使…

网站和网页的目的手机网站开发开发

目录 VLAN 技术原理和配置1. VLAN 技术的背景2. VLAN 标签的产生方法3. VLAN 标签的应用规则4. VLAN 的配置总结 VLAN 技术原理和配置 1. VLAN 技术的背景 VLAN&#xff08;Virtual Local Area Network&#xff09;是一种逻辑上划分网络的技术&#xff0c;可以将一个物理局域…

公司网站建设外包流程郑州vi设计公司

目录 一、背景二、过程三、总结 一、背景 十年前结缘&#xff0c;也许是冥冥中自有天注定&#xff0c;注定要给自己多加一个今天的节日。 二、过程 一个勋章&#xff0c;一个有意义的标志。 一个勋章&#xff0c;一个时间轮上的帧。 一个勋章&#xff0c;一个二进制的节点。…

网站空间被攻击wordpress页面视频播放

目录 配置环境 http配置 配置步骤 1、首先安装Nginx&#xff08;已经安装的跳过这步&#xff09; 2、查看一下下Nginx的配置文件结构&#xff0c;了解如何配置&#xff0c;以及配置的各个条目有什么作用&#xff08;为接下来的配置打基础&#xff09; 3、创建你的网页 4、…

网站可以做多少事情菏泽企业做网站

简介 该项目采用微服务架构&#xff0c;实现了前后端分离的系统设计。在前端&#xff0c;我们选择了 Vue3 配合 TypeScript 和 ElementUi 框架&#xff0c;以提升开发效率和用户体验。而在后端&#xff0c;则是运用 SpringBoot 和 Mybatis-plus 进行开发&#xff0c;保证了系统…

建设农产品网站总结ppt怎么制作手机网页链接

ssm会议管理系统源码和论文087 开发工具&#xff1a;idea 数据库mysql5.7 数据库链接工具&#xff1a;navcat,小海豚等 技术&#xff1a;ssm 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&…

东莞网站建设 光龙企业关键词优化公司

系统分析: 一般的抽象系统&#xff0c;如社会系统&#xff0c;经济系统&#xff0c;农业系统&#xff0c;生态系统&#xff0c;教育系统等都包含有许多种因素&#xff0c;多种因素共同作用的结果决定了该系统的发展态势。人们常常希望知道在众多的因素中&#xff0c;哪些是主要…

《ZeroTier教程》03-客户端配置 zerotier-cli常用命令 桥接和路由配置示例

原文永久链接:https://forum.piwind.com/d/40-zerotierjiao-cheng-03-ke-hu-duan-pei-zhi-zerotier-clichang-yong-ming-ling-qiao-jie-he-lu-you-pei-zhi-shi-li Date: 2024-10-02 Update: 2025-09-193. 客户端 win使…

XDG和桌面环境

1、定义XDG(X Desktop Group):一套 freedesktop.org 制定的目录规范,用来统一应用的配置、缓存、数据和运行时文件存放路径,在 freedesktop.org 制定的规范中,最常见的是 XDG Base Directory Specification(基础目…

PocoEmit遥遥领先于AutoMapper之循环引用

PocoEmit遥遥领先于AutoMapper之循环引用一、什么是循环引用循环引用就是类型相互依赖1. 比如A类有B类的属性,B类也有A类的属性这有什么问题呢? 编写生成A的代码需要遍历A的所有属性 构造B类型属性是A代码的一部分,B代…

网站制作怎么学去哪学建设个人网站需要什么条件

摘要&#xff1a; 云托付&#xff08;Cloud Hosting&#xff09;是以阿里云的标准&#xff0c;提供给企业优质的机房托管资源、云专线网络以及增值服务&#xff0c;并与阿里云公有云产品结合&#xff0c;为企业搭建混合云提供基础资源。 原文地址&#xff1a;http://click.aliy…

JAVA 语法基础课程动手动脑及课后实验问题整理文档

一、编程思维与项目分解相关 1.按照 “分解 — 识别模式 — 抽象 — 算法” 的编程思维项目分解原则,重新编写课前测试题。思考将整个程序分成若干个组件(分解)、将多次出现的相似功能设成独立的方法(模式识别、抽…

python垃圾回收

python垃圾回收Python的垃圾回收机制以引⽤计数器为主、分代码回收和标记清除为辅 1.refchai链表 在Python的C源码中有⼀个名为refchain的环状双向链表,在Python程序中每创建1个对象,就会将其加入此链表。 city = 四…

Arduino IDE 离线更新ESP-32 lib包

前提:学习ESP-32过程中,没有科技,只能离线安装依赖; 1. 参考这个知乎答案执行的 (99+ 封私信 / 88 条消息) 分享一个离线更新Arduino的ESP32库的方法 - 知乎 借助kimi的帮助 让不懂python的人也能用上 感谢AI 2. …

上海企业注销流程seo发布专员招聘

Java内存模型可以说是Java并发的底层支持&#xff0c;了解Java内存模型才能正在了解Java并发。内存模型在内存中设置一个变量"value 1&#xff1b;"那么其他线程能在什么时候读取到这个结果呢&#xff1f;有可能不能立即甚至永远都读不到。比如指令顺序与源代码中的…

CUDA编程(CUDA_By_Example笔记)

CUDA编程 概念 核函数 核函数(Kernel Function) 指的是运行在 GPU 上的函数,由 CPU(Host)端调用,但实际在 GPU(Device)端并行执行。 核函数的声明需要限定符 __global__ ,例如: __global__ void add(int *a,…