Redis实践(十五)-开发规范

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: 1 key设计看看这个embstr 是啥,即内部编码2 value 设计value 设计bigkeybigkey 的危害...

1 key设计

img_7f2d8e670c1c14a9af64192d04ad7ddf.png

img_f0e5d719f2f489f67de6a66ae2d51d4a.png

看看这个

embstr 是啥,即内部编码


img_732de31453394c342e985473679beb08.png

img_ebadd828af20790ae355387065f88522.png

img_fd7df39493f1a41da8b68d79d2928188.png

img_0208d717a159cb8b1ca8e890fba9121e.png

2 value 设计

img_54e0d9ba2c62939b16b2fa710b0a4786.png
value 设计

img_eabbcb468facf82a97c89d32be680045.png
bigkey

img_725f8fc32db18d26c7d1802a8d03e5ae.png
bigkey 的危害

img_d7d8ea53e59b09801a72a6a0232eadbe.png
网络阻塞

img_1c5e5499ea4057132c30da0ab5aaf449.png
慢查询

img_7405f1638df1430729c025643d5fd7e3.png
节点数据不均衡

img_1f3fb61083cd1539acee5419d6b37b35.png
反序列消耗

img_36fa893ecdeb8e6e4b5433bec917579b.png
发现 bigkey

img_f3059c148584d2dfb99baadd301b173c.png
应用方发现

img_a2683d9de58a1604f588264b7bddbb48.png
redis-cli bigkeys

img_c06984b723c3440837d0873dc69d45f7.png
scan + debug object

img_e65de5c87622a83ce37e36a9f78ae5c2.png
主动报警

img_d8e08440c44f64d46c3df9eb18fa1425.png
内核统计

3 发现 bigkey 的方法

img_4632135fe28e38c0f486c3465a3e4915.png
bigkey 发现

img_60f995afc96f967c22c33abb50559c88.png
应用方发现

img_0212ef8cc8f69e91a504fcfe9b181673.png
redis-cli bigkeys

img_9ba248ce593ff6d0fe43543e7a126b39.png

img_406f425f37c0ad57716e79c6e932c5a6.png

img_778de1ebe431e289944dc5b87e3301ca.png

img_85208cf45cff19c95e7724e11ce20df5.png
scan + debug object

img_9697e0818c225b2560f9848b54df376f.png
主动报警

img_19064adeb554af5c56efc127c5eb7a0c.png
内核统计

4 bigkey 删除

img_0309d9451183044e96e2e463ff1972ee.png

img_f7865b1292d957b38d1d84e644bee2d8.png
bigkey 删除-Java

img_612d443c268f0d7c76ebc5880daf454d.png
bigkey 预防

img_b6c62b8ee25198474494c2941d3cc9f9.png
总结

5 选择合适的数据结构

img_23bc080ff280497bda8a6ded40543dba.png

img_95aaf2437a275643aada32dd4f1a6003.png
一个例子,三种方案

img_1fcd6154abec3b0f6547dfdfc15d3072.png
方案一

img_531c718e5671c6fac2e72c952aa65147.png
方案二

img_604b41218806d31388884d10456dd9d5.png
方案三

img_588b0d10408101ec9aaa323e751a4827.png
三种方案的内存对比

img_b7c854f1887ca0b182c8c2175bb1ec0b.png
三种方案内存分析

img_4e5bf3cf72e66e526e809f73f470c913.png
三种方案优缺点对比

6 键值的生命周期的管理

img_efb178b2728e509bc711171f10214a26.png

7 命令使用技巧

img_76af5d237ca73524534583b853ecaf52.png

img_bbd4ea6770d5215a8c8b04ae3b494fd8.png

img_327abcd8d99c7c98cf61634ef0874c7b.png

img_a2413420c44285f1f889e19793e8b793.png

img_6c60962ed8e823ca12411f1f6e348104.png

img_012026097e2875061e8c0fea63a46275.png

8 Java客户端优化

img_4a6b3a9ba77560592e69bcf5e9dc7fd9.png

img_23f8f2056f3dd0b34738b1217cbf04cf.png

9 连接池参数说明

img_0c0295eae4412e6bed3791ff7d93194e.png

img_ed3cf21e5ebd2a8f9be885eeb5ba8d39.png

img_4c3b3bcf8f365bf2c818fc283cd6d2f6.png
如何预估最大连接池

img_aef7d2da2acb79730222bd7b86873835.png
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
2月前
|
存储 缓存 NoSQL
蚂蚁金服P7私藏的Redis原理与实践内部笔记
Redis 是完全开源免费的,是一个高性能的key-value类型的内存数据库。整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。
59 1
|
3月前
|
缓存 NoSQL Java
Spring Cache 缓存原理与 Redis 实践
Spring Cache 缓存原理与 Redis 实践
151 0
|
7月前
|
NoSQL Unix Linux
Redis核心技术与实践 03 | 高性能IO模型:为什么单线程Redis能那么快?
Redis核心技术与实践 03 | 高性能IO模型:为什么单线程Redis能那么快?
|
5月前
|
存储 NoSQL Linux
VLDB顶会论文Async-fork解读与Redis在得物的实践(1)
VLDB顶会论文Async-fork解读与Redis在得物的实践
43 0
|
5月前
|
NoSQL 测试技术 Linux
VLDB顶会论文Async-fork解读与Redis在得物的实践(3)
VLDB顶会论文Async-fork解读与Redis在得物的实践
66 0
VLDB顶会论文Async-fork解读与Redis在得物的实践(3)
|
5月前
|
NoSQL 测试技术 Linux
VLDB顶会论文Async-fork解读与Redis在得物的实践(2)
VLDB顶会论文Async-fork解读与Redis在得物的实践
36 0
VLDB顶会论文Async-fork解读与Redis在得物的实践(2)
|
6天前
|
人工智能 前端开发 Java
Java语言开发的AI智慧导诊系统源码springboot+redis 3D互联网智导诊系统源码
智慧导诊解决盲目就诊问题,减轻分诊工作压力。降低挂错号比例,优化就诊流程,有效提高线上线下医疗机构接诊效率。可通过人体画像选择症状部位,了解对应病症信息和推荐就医科室。
64 10
|
12天前
|
NoSQL 关系型数据库 MySQL
开发者福音:用IDEA和Iedis2加速Redis开发与调试
开发者福音:用IDEA和Iedis2加速Redis开发与调试
30 0
开发者福音:用IDEA和Iedis2加速Redis开发与调试
|
13天前
|
运维 NoSQL 算法
Java开发-深入理解Redis Cluster的工作原理
综上所述,Redis Cluster通过数据分片、节点发现、主从复制、数据迁移、故障检测和客户端路由等机制,实现了一个分布式的、高可用的Redis解决方案。它允许数据分布在多个节点上,提供了自动故障转移和读写分离的功能,适用于需要大规模、高性能、高可用性的应用场景。
16 0
|
1月前
|
弹性计算 NoSQL 测试技术
倚天使用|Redis性能高30%,阿里云倚天ECS性能摸底和迁移实践
Redis在倚天ECS环境下与同规格的基于 x86 的 ECS 实例相比,Redis 部署在基于 Yitian 710 的 ECS 上可获得高达 30% 的吞吐量优势。成本方面基于倚天710的G8y实例售价比G7实例低23%,总性价比提高50%;按照相同算法,相对G8a,性价比为1.4倍左右。
137508 5