当前位置:网站首页>为什么我用了Redis之后,系统的性能却没有提升
为什么我用了Redis之后,系统的性能却没有提升
2022-08-03 16:51:00 【Java进阶之路】
很多时候,我们在面对一些热点数据的时候,通常会选择将热点数据放到redis中,以减少数据库的查询,减轻数据库的压力。但是如果我们使用redis的方式不对,那么可能导致系统的性能不升反降。
- 使用缓存的场景不正确 我们知道redis是基于内存实现的,所以速度会非常快,我们通常会将热点数据放到redis中,以减少对数据库的压力。但是我们为了保证缓存与数据库的数据一致性,在数据进行修改的时候,我们就需要对缓存进行维护。 所以如果数据的变更很频繁的话,就需要对缓存进行频繁的维护,缓存的命中率也会特别低。缓存的使用场景应该是修改频率不高,查询频率较高的场景。如果使用redis的场景不对,通常会导致我们得不偿失。
2. key设计不当导致产生了bigkey
什么是bigkey?
对于字符串类型来说单个value值(20k以上)过大,hash、list、set、zset元素个数过多(超过5000个)我们就认为它是一个bigkey。
如果存在bigkey,那么我们会导致我们查询key时过慢,网络拥塞,redis内存分配不均匀等问题。所以如果我们发现一个key过大的时候,那么我们就需要根据业务对它进行拆分,避免导致慢查询等问题。
3.AOF配置不合理
通常我们都会开启redis的AOF来完成redis数据的持久化,AOF有三种策略
appendfsync always:每次写入都刷盘,对性能影响最大,占用磁盘IO比较高,数据安全性最高
appendfsync everysec:1秒刷一次盘,对性能影响相对较小,节点宕机时最多丢失1秒的数据
appendfsync no:按照操作系统的机制刷盘,对性能影响最小,数据安全性低,节点宕机丢失数据取决于操作系统刷盘机制。
如果我们选择appendfsync always的话,虽然数据的安全性高,但是每次写入都要刷盘会导致redis的性能很大程度的降低,所以我们一般会选择appendfsync everysec的策略来对数据进行持久化。
边栏推荐
猜你喜欢
Components of communication - the drop-down menu
Interviews are no longer hanged!This is the correct way to open the seven schemes of Redis distributed locks
使用uniapp 封装一个request 请求
组件通信-父传子组件通信
面试突击71:GET 和 POST 有什么区别?
Description of the functional scenario of "collective storage and general governance" in the data center
C语言02、语句、函数
Web3 安全风险令人生畏?应该如何应对?
【目标检测】Focal Loss for Dense Object Detection
【带你了解SDN和网络虚拟化】
随机推荐
面试突击71:GET 和 POST 有什么区别?
高效的组织信息共享知识库是一种宝贵的资源
J9数字虚拟论:元宇宙的潜力:一股推动社会进步的力量
Big guys.Use flink-cdc-sqlserver version 2.2.0 to read sqlserver2008R
TiKV & TiFlash accelerate complex business queries丨TiFlash application practice
如何在 DataWorks 中 写SQL语句监控数据的变化到达一定的值 进行提示
FinClip | 2022 年 7 月产品大事记
EA 改口,称单人游戏是产品组合中“非常重要的一部分”
中小微企业如何简单便捷、低成本实现数字化?360视觉云有妙招
ArkUI如何适配横竖屏
【LeetCode】899. 有序队列
从零开始搭建MySQL主从复制架构
浅谈Service Mesh对业务系统的价值
MySQL窗口函数 OVER()函数介绍
fastposter v2.9.0 程序员必备海报生成器
论文解读(JKnet)《Representation Learning on Graphs with Jumping Knowledge Networks》
node连接mongoose数据库流程
数据中台“集存通用治”功能场景说明
我想请问下,我们的数据库是在亚马逊,Dataworks 连不通,怎么办?
Interviews are no longer hanged!This is the correct way to open the seven schemes of Redis distributed locks