检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Lua脚本编写规范 Lua是一种脚本语言,目的是为了嵌入应用程序中,为应用程序提供灵活的扩展和定制功能。GeminiDB Redis使用的是Lua5.1.5版本,与开源Redis5.0使用的Lua版本是一致的。 使用Lua脚本时,需要经过谨慎的校验,否则可能出现死循环、业务超时等情况,甚至会导致业务不可用。
我们需要依赖lua脚本来完成 lua脚本: if redis.call("get",KEYS[1]) == ARGV[1] then return redis.call("del",KEYS[1]) else return 0 end 这个lua脚本需要搭配EVAL命令来执行,示例如下:
Redis hashtag的使用方法为,为需要操作的多key加增相同的字符串。例如{aaa}list1、{aaa}list2,Redis服务在处理以上key时,识别到“{}”时,仅根据“{}”的字符串“aaa”计算hash值,因此可以确保其落在相同的节点上。 GeminiDB
开发参考 开发运维规范 命令兼容列表 通过程序代码连接实例示例 Lua脚本编写规范 keyspace通知功能 exHash命令列表 大Bitmap初始化 客户端连接池参数配置 通过openAPI实现自定义周期备份 通过并行SCAN提升全库扫描速度 使用 Pipeline 访问 GeminiDB
100%兼容 100%兼容 100%兼容 发布订阅(Pub/Sub) 发布订阅命令列表 100%兼容 100%兼容 100%兼容 Lua脚本(Scripting) Lua脚本命令列表 100%兼容 100%兼容 暂不支持7.0特性 事务(Transactions) 事务命令列表 100%兼容
当notify-keyspace-events选项的参数为空字符串或参数不含K、E时,表示键空间通知功能关闭。 双引号表示为空字符串。 GeminiDB Redis控制台客户端不支持通过将notify-keyspace-events选项的参数设置为空字符串来关闭键空间功能。 当notify-key
查询可恢复时间点的开始时间,为“yyyy-mm-ddThh:mm:ssZ”字符串格式,T指某个时间的开始,Z指时区偏移量。 end_time 是 String 查询可恢复时间点的结束时间,为“yyyy-mm-ddThh:mm:ssZ”字符串格式,T指某个时间的开始,Z指时区偏移量。 offset 否
无,需自行制定 取值为字符串,表示导出数据时要考虑的最小令牌。 具有较小令牌的记录将不会导出。 默认为空,表示没有最小令牌。 TO ENDTOKEN 用于导出数据的最大token。 无,需自行制定 取值为字符串,表示导出数据时要考虑的最大令牌。 具有较大令牌的记录将不会导出。 默认为空,表示没有最大令牌。
注入测试数据 测试前,生成并注入数据库测试数据。基于测试模型三种类型的分布,对三种数据类型进行如下配置: hash类型 key:34位字符,使用字符串前缀+9位数字,数字由1亿-9亿连续,以控制数据总量和热数据分布。 field-value共注入10对,其中field为10位字符,val
不支持swapdb命令。 dbsize结果非实时刷新,flushdb后dbsize返回的结果不会立刻降为0,会在一段时间后变为0。 不支持在Lua脚本中使用select和flushdb命令。 不支持在事务中使用select和flushdb命令。 暂不支持move命令。 父主题: 数据库使用
修复HASH类型处理FIELD过期的性能问题。 5.0 2023-12-30 新特性及性能优化: 优化数据迁移的性能和稳定性。 新增COPY命令支持。 新增LUA脚本内容获取的能力。 新增MOVE命令对EXHASH类型的支持。 新增支持IPv6的能力。 问题修复: 修复KEYSCAN命令的性能问题。
效控制成本。 方案优势 海量数据实时解析写入,应用开发极简 传统HBase:将车辆上报的数千监控指标作为一个字符串写入HBase,应用程序读取某个指标时,需要先读整个字符串,再解析,过程复杂,效率低。 GeminiDB Influx:将车辆上报的数千监控指标直接作为数千列写入Ge
序执行,各个命令相互独立,服务端有可能在该过程中执行其他客户端的命令。某个命令执行失败不会影响其他命令的执行,如需原子性,需要使用事务或lua实现。 单次 Pipeline 的大小需要适当,大Pipeline可能会有OOM风险,也可能会造成网络阻塞;因为Redis 必须在处理完所
当“end_time”有值时,“begin_time”必选。 取值范围: 为yyyy-mm-ddThh:mm:ssZ字符串格式,T指某个时间的开始,Z指时区偏移量,默认为空。 默认取值: 空值。 end_time 否 String 参数解释: 查询备份开始的结束时间。 约束限制: 当“begi
标签键。最大长度36个unicode字符,key不能为空。 字符集:0-9,A-Z,a-z,“_”,“-”,中文。 values Array of strings 标签值列表。每个标签值最大长度43个unicode字符,可以为空字符串。 字符集:0-9,A-Z,a-z,“_”,“.”,“-”,中文。
与社区Redis相比,GeminiDB Redis对Pipeline的使用并不做严格约束,因此需要用户根据规范合理开发业务程序。 11 避免在Lua脚本中引入高耗时代码。 使用Lua脚本时应遵循轻量化原则,避免引入执行命令次数过多、长时间sleep、大的循环语句等不合理用法。 12 避免在事务中打包过多命令。
取值为“count”,表示仅返回总记录数,禁止返回其他字段。 matches 否 Array of objects 搜索字段。 该字段值为空,表示不按照实例名称或实例ID查询。 该字段值不为空,具体值请参见表4。 tags 否 Array of objects 包含标签,最多包含20个key。详情请参见表3。
其他字段。 matches 否 Array of MatchOption objects 搜索字段。 该字段值为空,表示不按照实例名称或实例ID查询。 该字段值不为空。 tags 否 Array of TagOption objects 包含标签,最多包含20个key。 表4 MatchOption
标签键。最大长度128个unicode字符,不能为null或者空字符串,不能为空格,校验和使用之前会自动过滤掉前后空格。 字符集:0-9,A-Z,a-z,“_”,“-”,中文。 value 否 String 标签值。最大长度255个unicode字符,可以为空字符串。 字符集:0-9,A-Z,a-z,“_”,“
参数解释: 标签键。最大长度36个unicode字符,key不能为空。 取值范围: 字符集:0-9,A-Z,a-z,“_”,“-”,中文。 value String 参数解释: 标签值。最大长度43个unicode字符,可以为空字符串。 取值范围: 字符集:0-9,A-Z,a-z,“_”,“