Redis键值设计使用的方法是什么

发布时间:2023-04-07 16:52:57 作者:iii
来源:亿速云 阅读:88

这篇文章主要介绍了Redis键值设计使用的方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Redis键值设计使用的方法是什么文章都会有所收获,下面我们一起来看看吧。

Redis使用中不规范的现象

Redis 使用业务场景推荐与建议

如何设计出优雅的key

可以这么说,线上关于redis的性能优化这个问题上,不合理的key的设计经常是引发问题的根因,究其本质,就个人看到的情况来说,大多数同学在对redis使用过程中,对于key的设计几乎是没有什么概念的,因为大多数同学使用的场景就是 key/val ,对应的数据结构就是 字符串key/字符串val;

稍微对redis有更深入的了解的同学,在进行存储时,可能会知道 key的设计尽量短一点,中间最好有层次感,最好以 : 进行分割 ......

那么如何才能设计出比较优雅的key呢?下面结合小编实际使用中的经验以及踩过的坑,来具体谈谈;

一、遵循如下几个最佳实践约定

  1. 遵循基本格式:[业务名称]:[数据名]:[id];

  2. key的长度不超过44字节;

  3. 不要包含特殊字符;

关于上面几条建议,这样做有如下几点好处:

推荐值:

二、尽量避免bigkey

1、什么是bigkey呢

BigKey通常以Key的大小和Key中成员的数量来综合判定,例如:

2、BigKey的危害

网络阻塞

数据倾斜

Redis阻塞

CPU压力

3、如何发现BigKey

在安装的机器上执行 redis-cli --bigkeys命令

通过scan扫描

使用第三方工具

使用网络监控

三、使用恰当的数据类型

正如上面所说,很多初次使用redis的同学,对于很多业务场景,都是一个key/val的简单的结构搞定,而不会深入思考这样做是否合理,或者说这样做以后会不会引发相关的性能方面的问题;

对于这个问题,从根本上来说,需要深入了解并掌握redis的常用的数据类型,在这个基础上,才能针对不同的业务场景,设计出高效的存储存储结构数据;

让我们思考一下,如何缓存用户对象列表这样的数据呢?

Redis键值设计使用的方法是什么

优点:存取方便,简单粗暴,存取时只需要做下json和对象的互转即可;

缺点:数据耦合,不够灵活,一旦对象新增了字段或删减了字段,缓存重建的成本非常大;

Redis键值设计使用的方法是什么

优点:对内存的占用小,操作高效;

缺点:获取到val之后,需要进一步查库才能得到完整的对象;

方案3:使用hash结构,缓存对象,数据如下所示;

Redis键值设计使用的方法是什么

优点:底层使用ziplist,空间占用小,可以灵活访问对象的任意字段;

缺点:编码上相对复杂;

Redis 缓存在实际应用中的使用建议

使用业务规范

不管是redis,还是其他开发中使用到的中间件,具体到开发使用时,最好都应该提前制定出一套合理的规范,这个规范应该是大多数开发人员认可并在实践中得到检验,且能有效规避一些问题的,一旦指定为规范,应该成为指导内部开发人员日常的规则,这里提如下几点:

关于“Redis键值设计使用的方法是什么”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Redis键值设计使用的方法是什么”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. 大容量NoSql解决方案:Aerospike实战
  2. MyFlash MySQL闪回工具

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

redis

上一篇:python中的argparse怎么使用

下一篇:Tomcat启动成功但无法访问http://localhost:8080/如何解决

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》