检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
开发参考 开发运维规范 命令兼容列表 客户端通过代码连接实例示例 Lua脚本编写规范 keyspace通知功能 exHash命令列表 大Bitmap初始化 客户端连接池参数配置 通过openAPI实现自定义周期备份 通过并行SCAN提升全库扫描速度 使用 Pipeline 访问 GeminiDB
开发运维规范 本章节结合华为云数据库开发运维经验,从开发和运维角度为您提供GeminiDB Redis产品使用规范。根据这些建议,您可以有效评估以及改善业务系统稳定性。 开发规范 在开发业务程序时需重点关注以下开发规范,避免因使用方式不当影响业务稳定。 表1 GeminiDB Redis
keyspace通知功能 所有支持订阅与发布功能的客户端都可以在不做任何修改的情况下, 直接使用键空间通知功能。 使用须知 因为开启键空间通知功能需要消耗一些CPU,所以在默认配置下,该功能处于关闭状态。 不建议在高压场景下使用键空间通知功能,不仅会影响实例性能,而且部分事件通知可能被丢弃
Lua脚本编写规范 Lua是一种脚本语言,目的是为了嵌入应用程序中,为应用程序提供灵活的扩展和定制功能。GeminiDB Redis使用的是Lua5.1.5版本,与开源Redis5.0使用的Lua版本是一致的。 使用Lua脚本时,需要经过谨慎的校验,否则可能出现死循环、业务超时等情况
exHash命令列表 exHash是一种可为field设置过期时间和版本的Hash类型数据结构,提高了Hash数据结构的灵活性,简化了很多场景下的业务开发工作。 主要特征 field支持单独设置expire和version。 field支持高效灵活的主动、被动过期淘汰(expire
命令兼容列表 GeminiDB(Redis接口)提供集群版和主备版,同时兼容社区Redis 5.0及以下版本(100%)、Redis 6.2(包含6.2.x)、Redis 7.0命令,应用上云无需修改代码。 本章节详细介绍GeminiDB (Redis 接口) Redis 5.0、
客户已有业务实现“db”+“缓存”,推荐使用内存加速吗?哪种场景可以让客户使用内存加速方案? 客户已有使用“db”+“缓存”的业务,建议继续使用原方案,可以把缓存数据迁移到GeminiDB Redis继续使用。新业务推荐使用内存加速,以简化开发。 父主题: 内存加速
针对某些不合法命令,GeminiDB Redis接口与开源Redis 5.0的报错信息为什么有差异 GeminiDB Redis接口先进行命令语法检查,再进行key存在性校验,而开源Redis没有准则,处理不合法命令的结果存在随机性。因此在某些不合法命令的报错信息上二者有时会存在差异
大Bitmap初始化 Bitmap,即位图类型,开源Redis直接使⽤STRING类型表达,因此可能会产⽣超⼤的STRING数据,进⽽在某些场景下出现⼤KEY的性能问题。GeminiDB Redis的Bitmap类型采⽤的是特殊编码的格式,内部采⽤分片算法,可以规避产⽣⼀个超⼤的STRING
GeminiDB Redis事务处理 事务介绍 基本概念: 事务将应用程序的多个读、写操作捆绑在一起成为一个逻辑操作单元,是一个执行的整体,整个事务要么成功,要么失败。在一个连接中,当客户端执行multi命令后,redis开始将后续收到的命令缓存在队列中,当客户端发送exec命令时
客户端连接池参数配置 合理的连接池参数设置能够有效地提升客户端使用Redis性能,不合理的配置(如连接数配置过小)可能引起应用程序无法获取连接,影响生产业务。本文以Redis客户端Jedis的连接池JedisPool为例,介绍JedisPool的使用和参数进行说明,为业务开发人员提供最佳配置的参考
GeminiDB Redis客户端重试指南 Redis客户端设置重试机制可以在网络不稳定或服务器临时故障的情况下,尽量保持应用程序的高可用性和稳定性。 GeminiDB Redis可能会遇到如下一些临时性故障场景 原因 说明 触发高可用机制的场景 GeminiDB Redis支持自动监测各个节点的健康状态
使用 Pipeline 访问 GeminiDB Redis 本文介绍了使用 Pipeline 访问 GeminiDB Redis 的原理以及注意事项。 Pipeline 简介 Redis 是一个请求/响应模型的服务,通常执行一个命令的流程为: 图1 Redis 命令执行流程 客户端发送命令到
客户端通过代码连接实例示例 通过Java语言连接实例 通过Jedis连接实例 通过Redisson连接实例 通过Hiredis连接实例 通过NodeJs连接实例 通过PHP连接实例 通过Python连接实例 通过Go语言连接实例 通过C#语言连接实例 通过Sentinel连接实例
通过并行SCAN提升全库扫描速度 当实例中的key数量较多时,传统的SCAN命令扫描耗时久,开源Redis较难解决该痛点问题。GeminiDB Redis基于分布式架构,支持用户同时对多个数据分区进行并行扫描,达到并行提速效果。 注意事项 该方案仅适用于GeminiDB Redis
通过openAPI实现自定义周期备份 游戏业务经常选用GeminiDB Redis存储玩家数据,兼顾低时延和数据持久化特性。本文介绍通过openAPI编写手动备份脚本,实现自定义备份周期(例如每2小时或4小时备份一次)。 GeminiDB Redis备份时仅需在存储层打秒级快照并上传
对于scan类的操作,GeminiDB Redis接口与开源Redis 5.0的返回值顺序为什么有差异 开源Redis没有规定如下情况的排序准则,故GeminiDB Redis接口的返回顺序可能和开源Redis不一样,但两者均满足开源文档描述行为。 scan/hscan/sscan
对于阻塞命令,GeminiDB Redis接口(主备实例)与开源Redis的返回值为什么可能有差异 开源Redis没有规定“当有客户端执行了阻塞命令等待key写入的情况,并发对这些key执行写命令”的返回值,GeminiDB Redis主备实例的接口返回值可能和开源Redis不一样
通过Python连接实例 本章节主要介绍使用Python访问GeminiDB Redis实例的方法。 前提条件 已成功创建GeminiDB Redis实例,且实例状态为“正常”。 已创建弹性云服务器,创建弹性云服务器的方法,请参见《弹性云服务器快速入门》中“购买弹性云服务器”章节。
通过PHP连接实例 本章节主要介绍使用PHP访问GeminiDB Redis实例的方法。 前提条件 已成功创建GeminiDB Redis实例,且实例状态为“正常”。 已创建弹性云服务器,创建弹性云服务器的方法,请参见《弹性云服务器快速入门》中“购买弹性云服务器”章节。 弹性云服务器上已经安装