首页 > 数据库 >redis中大key问题的解决思路

redis中大key问题的解决思路

时间:2024-08-28 09:26:17浏览次数:6  
标签:中大 redis value 访问量 key 网络带宽 数据

redis中如果某一个key-value值过大,在访问量比较高的时候就可能会造成网络带宽不足,例如一个value值存储大小为5MB,同时有5000个并发访问,网络带宽需要209.7 Gbps,这必然会造成网络阻塞。其次redis中是单线程结构如果一个key-value值占用内存过大,传输时占用此线程时间过长,会影响其他数据的读取效率

所以我们在设计key值时应该尽量避免大key问题的出现,以下是我的解决思路:

1、大key问题我们尽量在设计之初就避免此问题的产生,合理设计业务访问量较大的数据结构,尽量避免在访问量较大的同时数据内存也过大

2、及时清除无效数据,例如list过长其中又存储着很多无效数据、hash中有大量无效数据,避免无效数据占用内存

3、必要时可以将redis中数据进行压缩,用时间换取空间

4、硬件上可以增加网络带宽提高网络传输

标签:中大,redis,value,访问量,key,网络带宽,数据
From: https://www.cnblogs.com/upeveryday/p/18383966

相关文章

  • window 安装redis7.4
    下载:github:https://github.com/redis-windows/redis-windows/releasesredis7.4.0:https://github.com/redis-windows/redis-windows/releases/download/7.4.0/Redis-7.4.0-Windows-x64-msys2-with-Service.zip解压:Redis-7.4.0-Windows-x64-msys2-with-Service.zip安装:1、可......
  • centos 7.6 上安装redis
    ============================CenteOs7上安装Redis redis-3.2.12-2.el7.x86_64安装前先检查安装环境首先检查gcc环境。gcc-v如果没有安装,那么就安装gcc等环境。sudoyuminstallgcc-c++make-y开始安装下载fedora的epel仓库yuminstallepel-release安装redis数据库yum......
  • yum install epel-release, except KeyboardInterrupt, e:, SyntaxError: invalid syn
     yuminstallepel-release File"/usr/bin/yum",line30   exceptKeyboardInterrupt,e:                           ^SyntaxError:invalidsyntax问题原因:由于yum包管理是使用python2写的,由于python3与python2不兼容导致出......
  • 实战案例一:异步操作redis
    异步redis在使用python代码操作redis时,链接/操作/断开都是网络IO。pip3installaioredis示例1:#!/usr/bin/envpython#-*-coding:utf-8-*-importasyncioimportaioredisasyncdefexecute(address,password):print("开始执行",address)#网络IO操作:创......
  • 项目中Redis常见的一些问题(缓存穿透,缓存雪崩,内存耗尽等)
    缓存穿透缓存穿透是指查询一个不存在的数据,导致每次请求查询这个不存在的数据都会转发到数据库,可能导致数据库崩溃通常都会用布隆过滤器来解决它布隆过滤器布隆过滤器主要是用于检索一个元素是否在一个集合中。它的底层主要是先去初始化一个比较大数组,里面存放的二进......
  • 使用 Tampermonkey5.1.1_0加自定义编写的js脚本实现自动填充表单
    最近有碰到要使用单点登录的需求,最开始是按照固定流程使用OAuth2.0或者jwt等技术通过父子系统交互的方式实现单点登录。缺点:代码繁琐,而且需要子系统配合提供单点登录接口,并且跳转时子系统需要携带其token等参数优点:安全,通过系统交互的方式鉴权访问接口。由于要集成的子系统很多,而......
  • C# yield keyword relieve congest and consume at the same time with produce
    usingSystem.Threading;namespaceConsoleApp57{internalclassProgram{staticvoidMain(string[]args){PrintNumers();Console.WriteLine("Hello,World!");}staticvoidPrintN......
  • redis-redis为什么这么快
    Redis为什么这么快?作者:w08e博客:https://www.cnblogs.com/w08e......
  • redis-删除策略
    Redis过期删除策略作者:w08e博客:https://www.cnblogs.com/w08e......
  • redis-过期策略
    redis内存淘汰策略作者:w08e在线博客:https://www.cnblogs.com/w08e......