TcaplusDB C++ TDR表 Linux SDK
版本选择策略
- 3.55.0(推荐):支持更多功能(Generic/List表的Batch类命令字、TTL命令字、条件更新功能)
- 3.46.0:此版本不再更新,待下线
编译环境说明
- GCC4:使用GCC4编译,GCC5及其以上也可使用,不过需要添加编译选项
-D_GLIBCXX_USE_CXX11_ABI=0
- GCC8:使用GCC8编译,GCC5及其以上均可使用
- GCC12 Tlinux4:适用于Tlinux4环境
- 特殊环境,联系Tcaplus_Helper单独出版本
v3.55.0 SP05 — 2026-03-09(最新)
TcaplusServiceApi3.55.0.208970
- 新增:添加一些统计项
- 新增:添加一些错误场景的日志打印
- 新增:List表的所有命令字,支持在不设置ResultFlag场景下,也返回最新的List版本号(使用Response的GetRecordProperties方法获取)
- 修复:某个特殊场景的core问题,极低概率
v3.55.0 SP04 — 2025-09-03
TcaplusServiceApi3.55.0.208917
- 新增:UserBuffer支持本地存储,可用大小从1KB扩展到10KB。用户可以打开开关,将请求中的UserBuffer存放在SDK上下文中,减少网络传输流量
- 新增:TDR表支持Meta校验。用户在RegistTable时,可使用本接口的新控制参数校验本地和服务端Meta的兼容性,避免因未在控制台同步改表操作而引发的数据异常(后端TcapServer进程需配合升级至3.73.0-2025-07-16及以后版本)
- 优化:TTL使用方式优化。支持在使用Insert/Update/Replace命令的同时,设置记录的过期时间(后端TcapServer进程需配合升级至3.73.0-2025-03-18及以后版本。暂不支持批量命令)
v3.55.0 SP03 — 2024-12-18
TcaplusServiceApi3.55.0.208807
- 优化:GetByPartKey优化,中间丢包时,返回错误码给用户(需后端配合3.73.0 2024-12-10)
- 优化:打印更加详细的错误信息
v3.55.0 历史版本
TcaplusServiceApi3.55.0.208682 — 2024-06-17
- 修复:对tcapdir域名解析过程中使用了非线程安全函数导致在SDK可能crash的问题
- 新增:支持SDK设置从slave进行遍历,支持SDK设置遍历时一个请求包返回指定数量的响应包
TcaplusServiceApi3.55.0.208570 — 2023-12-26
- 修复:对Tcapdir做域名解析时,得到的ip列表后,只取了一个ip地址导致如果这个地址连不上启服失败的问题
TcaplusServiceApi3.55.0.208367 — 2023-06-01
- 修复:对于BatchGet等可能导致分包返回的命令,SDK统计的请求成功率可能大于100%的问题
- 修复:SDK上报收发包和连接信息给Tcapdir时,由于缓冲区不够,可能导致信息被截断的问题
- 优化:遍历时选取Tcaproxy从固定第一个优化为随机选取一个,降低多SDK遍历时,某些Tcaproxy可能成为瓶颈的场景
- 优化:SDK启动连接Tcaproxy时,当可用Tcaproxy数量足够,少量连接失败时也允许启动成功
- 优化:SDK内部的Tcaproxy列表发生变更时,路由切换能够更加平滑
- 优化:SDK启动时将本地的ip和port上报到Tcapdir,以便后续信息跟踪
v3.55.0 - 2022-05-30
- 修复:当SDK内部Hash环上的Tcaproxy列表变更产生无交集情况时,可能会导致秒级找不到路由,发包失败的
- 新增:允许通过SDK接口,设置记录级别的数据淘汰(ttl)的能力
- 新增:对tdr表和pb表,SDK支持条件更新
- 新增:SDK支持分布式索引等特性
- 新增:对tdr表和pb表,SDK支持批量的增删改查
v3.46.0 — 2024-11-14
TcaplusServiceApi3.46.0.200374
- 修复:对tcapdir域名解析过程中使用了非线程安全函数导致在SDK可能crash的问题
v3.46.0 历史版本
TcaplusServiceApi3.46.0.200328 — 2024-02-21
- 修复:proxy升级时,发送Notfiystop导致tdr memset了协议内存,内存膨胀的问题
- 修复:开启统计上报,使用的strtok非线程安全,可能core的问题
TcaplusServiceApi3.46.0.200279 — 2023-06-02
BUG修复:
- 修复:对于BatchGet等可能导致分包返回的命令,SDK统计的请求成功率可能大于100%的问题
- 优化:遍历时选取Tcaproxy从固定第一个优化为随机选取一个,降低多SDK遍历时,某些Tcaproxy可能成为瓶颈的场景
- 优化:SDK启动连接Tcaproxy时,当可用Tcaproxy数量足够,少量连接失败时也允许启动成功
- 优化:SDK内部的Tcaproxy列表发生变更时,路由切换能够更加平滑
TcaplusServiceApi3.46.0.200166 — 2022-12-22
- 优化:当解析Tcapdir的域名,得到的ip地址不可用时,SDK将再次尝试解析域名
- 优化:SDK支持上报AddDirServer是传入的域名还是ip + port的方式
TcaplusServiceApi3.46.0.199774 — 2022-05-30 基线版本
BUG修复:
- 修复:开启部分Tcaproxy连接算法(默认单区Tcaproxy数目大于100个自动开启)时,如果发生Tcaproxy个数或状态变化,低概率会导致用户请求出现一秒左右失败并自动恢复的问题
- 修复:Tcaproxy缩容可能导致SDK发包失败且无法恢复的问题
- 修复:在腾讯云模式下,如果只有一个Tcapdir,当重启这个Tcapdir后,SDK将无法再连接上Tcapdir的问题
- 修复:Tcapdir缩容后,SDK存在无法感知新的Tcaproxy列表变化的问题
- 修复:SDK在做List表遍历时,如果每次只遍历一条数据,则可能出现遍历无法结束的问题
- 修复:后端存储层出现遍历超时时,SDK的遍历任务会失败,无法顺利完成遍历的问题
特性:
- 优化:SDK支持的value字段从128个增加到256个
- 优化:SDK支持的单条记录大小从1MB到10MB
- 优化:SDK支持的单个value的大小从256KB增加到10MB
- 新增:SDK支持分布式索引等特性
- 优化:单SDK内存从160MB降低为40MB
- 优化:删除了ssl、bson、json的依赖库
- 新增:支持perf采样,更好的分析线上质量数据