本文为您介绍Memcache(OCS) Writer支持的数据类型、字段映射和数据源等参数及配置示例。
云数据库Memcache版(ApsaraDB for Memcache,原简称OCS)是一种高性能、高可靠、可平滑扩容的分布式内存数据库服务。基于飞天分布式系统及高性能存储,并提供了双机热备、故障恢复、业务监控和数据迁移等方面的全套数据库解决方案。
云数据库Memcache版支持即开即用的方式快速部署,对于动态Web、APP应用,可以通过缓存服务减轻对数据库的压力,从而提高网站整体的响应速度。
云数据库Memcache版与本地MemCache的异同点如下:
- 相同点:云数据库Memcache版兼容Memcached协议,与您的环境兼容,可以直接用于云数据库Memcache版服务。
- 不同点:云数据库Memcache版的硬件和数据部署在云端,有完善的基础设施、网络安全保障和系统维护等服务。所有服务只需要按量付费即可。
Memcache Writer基于Memcached协议的数据写入Memcache通道。
Memcache Writer目前支持一种格式的写入方式,不同写入方式的类型转换方式不一致。
- text:Memcache Writer将来源数据序列化为STRING类型格式,并使用您的fieldDelimiter作为间隔符。
- binary:目前暂不支持。
参数说明
参数 | 描述 | 是否必选 | 默认值 |
---|---|---|---|
datasource | 数据源名称,脚本模式支持添加数据源,此配置项填写的内容必须要与添加的数据源名称保持一致。 | 是 | 无 |
writeMode | Memcache Writer写入方式,具体如下:
|
是 | 无 |
writeFormat | Memcache Writer写出数据的格式,目前仅支持TEXT数据写入方式。
TEXT:将源端数据序列化为文本格式,其中第一个字段作为Memcache写入的key,后续所有字段序列化为String类型,使用您指定的fieldDelimiter作为间隔符,将文本拼接为完整的字符串再写入Memcache。 例如源头数据如下所示。
如果您指定fieldDelimiter为\^,则写入Memcache的格式如下。
|
否 | 无 |
expireTime | Memcache值缓存失效时间,目前MemCache支持两类过期时间。
说明 如果过期时间的秒数大于60*60*24*30(即30天),则服务端认为是Unix时间。
|
否 | 0,0永久有效 |
batchSize | 一次性批量提交的记录数大小,该值可以极大减少数据同步系统与MySQL的网络交互次数,并提升整体吞吐量。如果该值设置过大,会导致数据同步运行进程OOM异常。 | 否 | 1,024 |
脚本开发介绍
配置一个写入Memcache的数据同步作业,使用脚本模式开发的详情请参见通过脚本模式配置离线同步任务。
{
"type":"job",
"version":"2.0",//版本号。
"steps":[
{
"stepType":"stream",
"parameter":{},
"name":"Reader",
"category":"reader"
},
{
"stepType":"ocs",//插件名
"parameter":{
"writeFormat":"text",//Memcache Writer写出数据格式。
"expireTime":1000,//Memcache值缓存失效时间。
"indexes":0,
"datasource":"",//数据源。
"writeMode":"set",//写入模式。
"batchSize":"256"//一次性批量提交的记录数大小。
},
"name":"Writer",
"category":"writer"
}
],
"setting":{
"errorLimit":{
"record":"0"//错误记录数。
},
"speed":{
"throttle":true,//当throttle值为false时,mbps参数不生效,表示不限流;当throttle值为true时,表示限流。
"concurrent":1, //作业并发数。
"mbps":"12"//限流
}
},
"order":{
"hops":[
{
"from":"Reader",
"to":"Writer"
}
]
}
}