操作场景
本文为您介绍如何在 Windows(x64) 系统上操作 Tcaplus Protobuf API。
运行环境
操作系统:Microsoft Windows x86_64
编译环境:Microsoft Visual Studio 2015 (VC14.0)
操作步骤
下载软件包
1. 下载依赖包和 Tcaplus Protobuf API 软件包,参见 SDK 下载。
2. 解压缩,以下是软件包的结构。
Tcaplus_PbAPI_3.32.0.171987_Win64Vc14MT_Release_20180413|-- cfg # 配置目录|-- docs # 文档目录| `-- tcaplus|-- include # 依赖头文件目录| `-- tcaplus_pb_api|-- lib # 库目录| |-- Debug| `-- Release|-- examples # 示例目录`-- tcaplus|-- C++_common_for_pb2 # 示例公共头文件目录|-- C++_pb2_asyncmode_simpletable # 异步模式的pb简单表示例|-- C++_pb2_coroutine_simpletable # 协程模式的pb简单表示例
准备环境
1. 请确保已经在 TcaplusDB 开通了游戏业务,并且已经获取到对应的 App 信息(例如 AppId、ZoneId、AppKey)。
2. 解压缩依赖包并安装,本文以
TSF4G_BASE-2.7.28.164975_Win64Vc14Mt_Release.zip
依赖包为例,实际以 Windows 平台依赖包下载 提供的依赖包为准。
假设安装的根路径是 D:\\Tencent\\tsf4gMT
,相关文件将会被安装到 D:\\Tencent\\tsf4gMT\\win64vc14MT
路径下。3. 编译并安装
Porotbuf-3.5.1
。假设安装路 径为
D:\\protobuf-3.5.1
4. 编译并安装
OpenSSL-1.1.0f
。假设安装路径为
D:\\openssl-1.1.0f
5. 设置环境变量。
TSF4G_HOME="D:\\Tencent\\tsf4gMT"
PROTOBUF_HOME="D:\\protobuf-3.5.1"
OPENSSL_HOME="D:\\openssl-1.1.0f"
构建
1. 解压缩 Tcaplus Pb API 安装包。
2. 在
examples/tcaplus/C++_common_for_pb2/common.h
文件中设置 App 信息。Tcapdir 接入点地址列表 -
DIR_URL_ARRAY
Tcapdir 接入点地址个数 -
DIR_URL_COUNT
用户表名,使用之前用户需要预先使用示例目录中的 table_test.xml 文件创建表 -
TABLE_NAME
用户业务 ID -
APP_ID
用户业务区服 ID -
ZONE_ID
用户业务密码 -
SIGNATURE
//examples/tcaplus/C++_common_for_pb2/common.h/******************用户自定义****************************/// Tcapdir 接入点地址列表static const char DIR_URL_ARRAY[][TCAPLUS_MAX_STRING_LENGTH] ={"tcp://10.xx.xx.21:9999"};// Tcapdir 接入点地址个数static const int32_t DIR_URL_COUNT = 1;// 用户表名static const char * TABLE_NAME = "tb_online";// 用户业务 IDstatic const int32_t APP_ID = 4;// 用户业务区服 IDstatic const int32_t ZONE_ID = 1;// 用户业务密码static const char * SIGNATURE = "8e24269ba91fxxxa7e89b1cbb77368e";/******************用户自定义******************************/
3. 以
examples\\tcaplus\\C++_pb2_coroutine_simpletable\\SingleOperation\\set
为例。set/|-- main.cpp # 示例主函数代码|-- readme.txt|-- table_test.proto # T 表定义 proto 文件,表需要预先创建|-- pb_co_set.sln # 项目 VisualSudio 解决方案文件|-- pb_co_set.vcxproj # 项目 VisualSudio 工程文件|-- proto_generate.cmd # 编译 proto 文件脚本`-- tlogconf.xml
3.1 首先,确认已经使用
table_test.proto
在目标 App 中创建表成功。3.2 执行
proto_generate.cmd
脚本,在当前路径下生成依赖文件。
- table_test.pb.cc
- table_test.pb.h
3.3 在 Microsoft Visual Studio 2015 中打开项目文件
pb_co_set.sln
。3.4 生成解决方案。
3.5 如果没有错误产生,在
examples\\tcaplus\\C++_pb2_coroutine_simpletable\\SingleOperation\\set/x64
路径下将会生成可执行文件 pb_co_set.exe
。测试
1. 拷贝
pb_co_set.exe
、tlogconf.xml
两个文件到同一目录下。2. 切换
administrator
身份并使用 cmd.exe 或 powershell.exe 运行可执行文件 pb_co_set.exe
。3. 检查输出。
4. 如果需要了解运行详细信息,请查看日志文件
tcaplus_pb.log
。5. 如果需要运行
*_crypto
示例,请确保 libcrypto-1_1-x64.dll
文件在系统 Path 路径下,该文件在 openssl 的编译目录下。
Tcaplus Pb API 命令列表
Tcaplus Pb API 支持多种类型操作,支持异步和协程模式,用户可以在示例中找到对应的用法。以下是 Tcaplus Pb API 命令列表:
命令 | 描述 |
SET | 通过指定一条记录所有主键设置一条记录,如果记录存在执行覆盖操作,否则执行插入操作。 |
GET | 从一个 Tcaplus Pb 表中通过指定一条记录所有主键查询一条记录,如果数据记录不存在,将会返回错误。 |
ADD | 通过指定一条记录所有主键插入一条记录,如果记录存在返回错误。 |
DELETE | 通过指定一条记录的所有主键删除此记录,如果数据不存在则返回错误。 |
BATCHGET | 从一个 Tcaplus Pb 表中通过指定多组主键查询多条记录。 |
TRAVERSE | 遍历一个 Tcaplus Pb 表,将返回多条记录。 |
FIELDGET | 从一个 Tcaplus Pb 表中通过指定一条记录所有主键查询一条记录。本操作只查询和传输用户指定的字段的值,减少网络传输流量。如果数据记录不存在,将会返回错误。 |
FIELDSET | 通过指定一条记录的所有主键修改指定字段,只传输指定字段的值。减轻网络流量。如果数据记录存在,将执行更新操作,否则将会返回错误。 |
FIELDINC | 通过指定一条记录的所有主键对指定的字段进行自增操作,此命令字仅支持 int32,int64,uint32 和 uint64 类型字段。特性与 FIELDSET 类似。 |
GETBYPARTKEY | 通过指定部分主键,查询符合条件的多条数据,主键集合必须在建表的时候创建了索引,否则会返回错误。 |