Redis 到底应该怎么存储使用?

2021 年 11 月 5 日
 chengouzi

问这个是因为我们公司目前的方法 我觉得挺不妥的 然后我也没有接触过别的公司或者并发比较大的系统中如何存储以及如何读取 redis

使用 redisson 连接的 redis(哨兵)

目前是存人群信息, 分了 1000 个 key (redis 中 key 如果很多的话会有问题么)

1000 个 key 的 value 是 一个大 Map ,存取这个 map 用的是 getLocalCachedMap

map 的每个 key 对应一个人 value 就是他的数据(数据量肯定不大 几百 k 吧)

然后业务集群每天大概请求在 40 -50 亿 然后峰值是 70 亿(其中也会过滤一些请求 比如不合法的或者各种过滤条件过滤掉),剩下的基本每次请求都会去请求一下 Redis 拿用户数据

这样一个 map 的话就会存多个人群数据 这样子维护的话 不会混乱么 比如有的人更新了有的人数据没更新

大家有做过类似的这种 redis 数据维护么 我也想了解了解

8638 次点击
所在节点    Redis
73 条回复
CantSee
2021 年 11 月 5 日
一天 70E,歪日,什么公司
hidemyself
2021 年 11 月 5 日
40 亿请求,从来没接触过这个体量
但是光看描述是没啥问题的吧。key 对应一个人,根据 key 得到用户数据,蛮合理的吧
sanggao
2021 年 11 月 5 日
你们体量 有新浪微博大没?
FantaMole
2021 年 11 月 5 日
每日峰值 70 亿次请求,是我要请教你,你们公司的架构是怎么设计的才是
sunny352787
2021 年 11 月 5 日
没啥问题啊,Redis 就是这么用的呀,你担心的是什么呢?
2i2Re2PLMaDnghL
2021 年 11 月 5 日
意思是每秒 8 万请求,很炸裂
timothyye
2021 年 11 月 5 日
1000 个 key ,每个 key 对应了个大 map ,大 map 里面的 key 才是某个人的 key
但是你们每次拿用户数据,都会先取那个大 map ,再从大 map 里面取到某个人? 这行会不会造成一些性能上的浪费?
lovelive1024
2021 年 11 月 5 日
70 亿已经打败 99.9%的人了
NCZkevin
2021 年 11 月 5 日
70 亿??大厂大部分人也没这种经历
hope4tomorrow
2021 年 11 月 5 日
楼主有没有兴趣分享一下,在如此之高请求量,并发量的公司做后端开发的一些感受,体验,经验这些
fkdtz
2021 年 11 月 5 日
峰值 70 亿?实在不敢造次,弱弱说下我的疑问:如果每个 key 里面有 N 个人,每个 key 大约 N * 100k ,峰值 70 亿的情况下这不是纯纯的大 key + 热 key 问题吗?就算是有缓存这也是被动建的缓存,而且还存在缓存更新问题?好奇楼主 redis 集群什么规模,后端什么架构。。。
asuka321
2021 年 11 月 5 日
1000 个 key ,每个 key1000 人,1000 人的业务场景是怎么做到峰值 70 亿的。。
hearfish
2021 年 11 月 5 日
存实时竞价的用户画像? key 的数量规模有多少?
kanhongj
2021 年 11 月 5 日
我惊呆了,突然也很想了解你们公司什么架构了,全球人口都来访问也就差不多这个量了。
FlyingDough
2021 年 11 月 5 日
物联网?人的业务 70 亿属实牛逼啊
hearfish
2021 年 11 月 5 日
> redis 中 key 如果很多的话会有问题么

没问题啊,每个节点最多存 2^32 个 key ,肯定够用了,单节点瓶颈多半是内存容量和网卡

> 这样一个 map 的话就会存多个人群数据 这样子维护的话 不会混乱么 比如有的人更新了有的人数据没更新

维护是指?你可以把每一个 map 看作一个小的 Redis node ,里面的 key 都是独立的。其实这个更接近 Redis Cluster 的设计,每一个 Map 相当于一个 Slot ,只不过 Slot 对客户端是透明的,而你们需要手动维护 Map
shiny
2021 年 11 月 5 日
目测是广告平台
4771314
2021 年 11 月 5 日
这流量,厉害了
lz 有空分享下系统的架构设计
CodeGou
2021 年 11 月 5 日
大佬视察民情来了么~
CodeCodeStudy
2021 年 11 月 5 日
你们公司是做什么业务的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/813275

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX