暂无图片
redis性能问题
我来答
分享
test
2024-10-10
redis性能问题

架构:三主(集群)

数据量:1h 60g

情况:通过接口取数据,然后插入至redis,后面再取出使用。但是会出现接口取出数据后,redis消费数据过慢,数据积压在程序所在的服务器内存后,导致程序所在的服务器内存爆掉。

想问一下应该用什么方案存放接口取出的数据,然后后续时间还可以随时取出数据使用

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
吾亦可往
  1. 数据预处理和分区存储

    • 在将数据插入 Redis 之前,可以对数据进行预处理,例如进行数据压缩、筛选或者聚合等操作,减少数据量。同时,可以根据数据的类型、用途等因素对数据进行分区存储,优化 Redis 的存储和访问效率。
    • 工作流程:接口获取数据后,先经过一个预处理模块,对数据进行压缩(如采用 Snappy、LZ4 等高效的压缩算法)或筛选出当前最需要的数据部分进行插入。在 Redis 内部,可以根据数据的类别(如用户数据、订单数据等)划分不同的存储区域(分区),并采用合适的 Redis 数据结构(如哈希表、列表等)进行存储,方便后续的快速访问和使用。
    • 优点:通过预处理减少了需要存储和处理的数据量,提高了数据的插入和访问效率。分区存储可以使 Redis 的存储和访问更加有针对性,避免数据混乱和性能下降。
暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
redis偶尔会报错error server dead
回答 1
可能是因为服务器磁盘空间已满造成的?rmrf/var/lib/redis/dump.rdbrmrf/var/run/redis.pid希望能帮助到你
Redis在10点设置了一个值5分钟后过期,RDB也备份了,系统奔溃,10点06分用备份恢复,这个值还在吗?
回答 1
已采纳
从理论上说,在
如何判断redis是否还有内存可以申请使用
回答 2
已采纳
问题1:在Linux系统中,VIRT代表进程虚拟内存空间的总量,它包括了进程本身占用的内存加上其子进程占用的内存,还包括了映射但未实际分配的内存。Redis在启动时会预分配一部分内存用于存储数据,同时
Redis failover 无法切换到新的master上去?
回答 1
已采纳
切换是要用keepalive等把IP引过去才能连接到slave。master重启一定是可以的。
redis能有权限设置吗?
回答 1
已采纳
redis就没有用户。只有密码。
redis 哨兵模式下,保存json格式600k左右,采用jedis.set返回是OK,但是没有写入redis中,查询不到
回答 1
直接写redis实例呢?哨兵我是不愿意使用,问题很多虽然和读写无关。不过你这个600K不符合redis规范。妥妥的大key。不应该有。
redis aof文件恢复数据
回答 1
在Redis5.0.14中,如果误操作使用了FLUSHDB命令清空了数据库,并且此时AOF文件还没有被重写,你可以尝试以下方案来恢复数据:备份AOF文件:在进行任何操作之前,请务必先对AOF文件做好备
redis日志stdout.log可以清空吗?
回答 1
已采纳
可以
redis的配置文件经常会在0点更新 导致重连失败,怎么解决?
回答 1
应该是有什么定时任务触发的,查查看。
哨兵模式下,外网部署一主两从,三哨兵模式,测试哨兵模式起效果,但是springboot连接,测试的时候直接写到本地的redis,没有写到外网部署的redis, 这是为什么?
回答 1
springboot里的redis配置是连接到本地了?