本文整理自火山引擎开发者社区首次 Meetup 中的分享《Redis 云原生实践》,主要介绍了将 Redis 部署到 K8s 的抽象流程,以及火山引擎在 Redis 云原生方向的探索和实践。 作者|解宁,火山引擎研发工程师 Redis 简介 Redis 是大家日常工作中使用较多的典型 KV 存储,常年位居 DB-Engines Key-Value 存储第一。Redis 是基于内存的存储,提供了丰富的数据结构,支持字符串类型、哈希/...
## Redis 简介Redis 是大家日常工作中使用较多的典型 KV 存储,常年位居 DB-Engines Key-Value 存储第一。Redis 是基于内存的存储,提供了丰富的数据结构,支持字符串类型、哈希/列表/集合类型以及 stream 结构。Re... **提供集群模式**:单体 Redis 实例受限于物理机内存,当需要很大的 Redis 集群容量时,可以使用 Redis 集群模式。Redis 集群模式的原理是把保存在其中的数据做了分片,每一部分数据由不同的 Redis 实例承担。Re...
在移动应用的业务场景中,我们需要保存这样的信息:一个 key 关联了一个数据集合。常见的场景如下:- 给一个 userId ,判断用户登陆状态;- 显示用户某个月的签到次数和首次签到时间;- 两亿用户最近 7 天的签到情... 也就是集合中的元素的值只有 0 和 1 两种,在签到打卡和用户是否登陆的场景中,只需记录`签到(1)`或 `未签到(0)`,`已登录(1)`或`未登陆(0)`。假如我们在判断用户是否登陆的场景中使用 Redis 的 String 类型实现(**...
如果未能及时发现和处理,可能导致服务性能下降,用户体验变差。分析大 key 的方法有很多,本文专注于如何使用原生 redis-cli 工具,通过添加 --bigkeys选项,可以快找出业务中的大 key# 前提条件* ECS中已经安装... 0 hashs with 0 fields (00.00% of keys, avg size 0.00)0 lists with 0 items (00.00% of keys, avg size 0.00)0 strings with 0 bytes (00.00% of keys, avg size 0.00)0 streams with 0 entries (00.00% of ...
本文介绍在使用缓存数据库 Redis 版进行业务代码开发时,需要注意的使用建议。 建议级别 说明 强烈建议 将 Redis 仅作为缓存使用。原因在于 Redis 的持久化和主从复制都是异步进行的,不太适用于对数据可靠性和一致... 当数据库中 Key 数量较多时(如超过了 100 万个),建议开启客户端的负载均衡功能。 设置宽松的超时重试时间(例如 200 毫秒以上),避免超时引起的重试风暴。 避免不同业务混用 Redis 实例。 避免在 Hash、Set、Zset...
缓存数据库 Redis 版支持自定义部分参数的值,本文介绍 Redis 实例中支持自定义的参数的相关信息。 参数支持表说明 关于表格中的标识,说明如下:✔️ :表示当前数据库版本支持该参数。 ❌ :表示当前数据库版本不支持... 碎片空间占用量的最小值。单位:MB,取值范围:100~1024。 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ active-defrag-max-scan-fields 设置在主哈希表扫描中,进行处理的 set/hash/zset/list 域数量的最大值。取值范围:50...
缓存数据库 Redis 版兼容大多数的原生 Redis 命令,但在使用部分命令时会有一些限制。本文汇总 Redis 实例中的命令限制。 支持的命令关于缓存数据库 Redis 版支持的命令详情,请参见命令支持。 多 Key 命令限制Redis... 具体限制如下: 启用分片集群的 Redis 实例 使用公网或私网地址连接实例时当使用下表中的任意多 Key 命令时,需要保证所要操作的 Key 都分布在 1 个 hash slot 中。 命令族 具体命令 Bitmap BITOP Generic EXISTS、R...
您需将独享集成资源组和 Redis 数据库节点网络打通,详见网络连通解决方案。 若通过 VPC 网络访问,则独享集成资源组所在 VPC 中的 IPv4 CIDR 地址,需加入到 Redis 访问白名单中:确认集成资源组所在的 VPC: 查看 VPC... 3 支持的字段类型当前主要字段支持情况如下。 字段类型 离线读(Redis Reader) 离线写(Redis Writer) String 支持 支持 Hash 支持 支持 Set 支持 支持 Sorted Set (别名Zset) 支持 支持 List 支...
注意事项仅支持查看最近 15 天内,指定 Redis 实例中内存占用量最多的前 100 个 Key 或元素数量最多的前 100 个 Key 的详情。 请求参数名称 类型 是否必选 示例值 描述 InstanceId String 是 redis-cn02sg5o56s... 支持的数据类型为 string、list、set、zset 和 hash。 说明 若该参数留空,默认查询目标实例中所有数据类型的大 Key 详情。 OrderBy String 否 ValueSize 指定查询结果的排序条件。支持的排序条件如下: Value...
缓存数据库 Redis 版服务会对每个访问的请求进行身份验证,因此您需要在请求中包含签名信息。本文介绍缓存数据库 Redis 版的 API 签名机制。 创建一个正规化请求说明 Hash 代指 SHA256 算法。 HexEncode 代指转 16 ... 哈希值连接组成,伪代码如下: json StringToSign = Algorithm + '\n' + RequestDate + '\n' + CredentialScope + '\n' + HexEncode(Hash(CanonicalRequest))Algorithm指代签名的算法,目前火山引擎仅支持 HMAC-SHA25...
针对启用分片集群的 Redis 实例,当使用直连地址访问实例时,默认禁用 flushall 和 keys 命令。更多关于命令限制的信息,请参见命令限制。 启用分片集群的 Redis 实例为何使用不了事务命令?启用分片集群的 Redis 实例使用事务命令时,需要注意: 支持通过公网或私网地址连接实例时使用事务命令,但在执行事务命令时,需要保证命令所要操作的 KEY 都分布在 1 个 hash slot 中。您可以通过 hash tag 来构造相同 slot 的 Key。hash tag 的使...
仅需将原来的连接代码(包括连接地址和端口号)更新为缓存数据库 Redis 版的对应连接信息,就可直接使用缓存数据库 Redis 版。 缓存数据库 Redis 版具有以下优势,帮助您构建理想的应用: 高可用架构,节点故障支持自动切... 支持将数据划分到最多 256 个分片。 与其它火山引擎服务,如 ECS、云监控等配合使用,提供高性能和高度安全的托管 Redis 数据库解决方案。 支持在线一键式扩容,用户业务无感知,资源扩容弹性且便捷。 可视化的 W...
缓存数据库 Redis 版支持多个引擎版本和架构类型,不同的引擎版本和架构类型对命令的支持程度不同。本文以原生 Redis 的相关命令为基准,介绍缓存数据库 Redis 版详细的命令支持情况。 说明 关于表格中的标识,说明如... 4.0 5.0 6.0 4.0 5.0 6.0 4.0 5.0 6.0 GEOADD ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ GEODIST ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ GEOHASH ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ GE...