
用户筛选对应的视频数据,先去数据库,查看对应数据(根据字段)判断是否存入 redis ,如果没有存入,就先根据链接下载然后 base64 转码存入,前端渲染的数据返回的是 redis ,视频设置过期时间,每个视频大概 10 几 MB ,公司也不上云存储
询问大佬们,有没有更好的解决方案,redis 存视频,就感觉不合理
1 SethShi 231 天前 你司是不知道 redis 的价格还是你们视频太少? 要是视频几百个 T, 你们公司要报废吧 |
2 SethShi 231 天前 而且限制视频速度的不是 io 读写, 存内存是为了更快的速度, 你一个大视频存 redis , 去 get 单线程能把 redis 拖垮, 你去硬盘存 io 有异步, 上 CDN 就好了 |
3 yooomu 231 天前 你们服务器内存这么大吗,能这么挥霍啊 |
4 delacey 231 天前 base64 编码后体积会变大 30%左右,存 redis 是准备爆内存吗?另外 redis 存个视频地址不好吗? |
5 pengtao2001 OP @delacey 这个没用,第三方爬取到的视频地址,一段时间后可能失效 |
6 pengtao2001 OP @yooomu ,我也表示不理解,不愿上云存储 |
7 pengtao2001 OP @delacey 视频是一定要下载下来的 |
8 zakokun 231 天前 莫名其妙,你放服务器硬盘上也行啊,放 redis 目的是啥? |
9 nxforce 231 天前 可以,如果你也可以像我一样,有申请调配 2TB 的运行内存资源权限,就能那么样子玩。 |
10 Backlitz 231 天前 你们的核心需求是把用户想访问的视频缓存在自己的服务器上吧?不管怎么样视频都不应该存 redis 的。搞个对象存储,用 mysql 或者 redis 维护下对象存储数据的生命周期。比如说 redis 里用 zset 实现某个文件 key 的 expire 时间监测和续期 |
11 lnbiuc 231 天前 存 redis 的目的是什么,为了更快的读取?那你换个高速 SSD 做存储不更快吗,想不通,整条链路上瓶颈难道是 IO 速度吗 为啥要 BASE64 ,直接二进制不行吗 |
12 tootfsg 231 天前 via Android 用你的头像回应提这个需求的人。 |
13 whp1473 23 天前 不可行,方本地磁盘好了,做个备份 |
14 facebook47 231 天前 via Android @tpeng9240 爬了之后缓存到你们自己的服务器,然后用自己的视频地址 |
15 cabing 231 天前 找个开源的存储方案,存磁盘便宜。 |
16 crysislinux 231 天前 via Android 你这不成了每个 key 都是大 key 了,你存 redis 是想要什么收益? |
17 Loku 231 天前 前端来写后台? |
18 pengtao2001 OP @Loku 我目前是存储到本地的 |
19 zhangjiashu2023 231 天前 自建 minio 呗。 |
20 igeeky 231 天前 用 MinIO 自建存储. |
21 var1122 231 天前 让我想起了把图片存数据库的神人,他妈的,备份个数据库,我想打人 |
22 lesismal 231 天前 艺高人胆大 年轻全不怕 |
23 hwb 231 天前 这是我在 V 站看到过最离谱的方案。已经不能用家里有矿来吐槽了 |
24 sn0wdr1am 231 天前 拿关公大刀去切菜,会怎么样? 建议不要难为 redis 。 |
25 beyondex 231 天前 via Android 离谱 |
26 flytsuki 231 天前 |
27 rming 231 天前 via iPhone 文件缓存+redis 索引,去掉数据库,套上 cdn |
28 fyooo 231 天前 这是对象存储或 CDN 做的事情呢 |
29 wxyoung 231 天前 静态资源加载速度的瓶颈在带宽,你服务器带宽再大,有 CDN 运营商的带宽大吗 |
30 v1 231 天前 搞瑟瑟或者盗版视频?正常企业爬取视频? |
31 justfun 231 天前 啊啊啊 还是我脑洞太小了 |
32 delacey 231 天前 @facebook47 +1 这才是正道。自己弄个 minio 存进去 |
33 chevalier 231 天前 小米 SU7 拉渣土可行性 能拉,但是不建议 |
34 mayli 231 天前 如果你连 redis 可以直接存二进制不用转 base64 的话 那可别胡思乱想了 |
35 pengtao2001 OP @mayli 第一次这样奇怪的需求,自建 minio 了 |
36 itechify PRO 友情提示,上两周有个 minio 使用姿势的贴子,提及 minio 主要用于局域网,提供到公网有版权风险 |
37 musi 230 天前 ?把内存当硬盘用? 还使用 base64 |
38 pengtao2001 OP @oneisall8955 多谢提醒,是局域网了 |
39 ltruntu 230 天前 能问出这个问题 就证明是神人 |
40 benjen000 230 天前 via Android 师傅,你是做什么工作的?程序员能提出这种解决方案? |
41 LiuJiang 230 天前 好奇,你们公司啥业务?官网发下,看看 |
42 wellbeing 230 天前 哈哈,这个是我见过最离谱的方案 |
43 julyclyde 230 天前 为啥还要 base64 一下?这不是脱裤放屁吗? |
44 maladaxia 230 天前 提出这个 idea 的人真是个天才 |
45 pengtao2001 OP @benjen000 别人提出来的,我照做,自建 minio 了 |
46 angeni 229 天前 贵司还需要研发经理吗? |
47 dododada 229 天前 你这活儿 pornhub 大概干过,好几年前他们的技术经理说他们的业务直接跑在 redis 上的,但是没说视频数据存在哪儿 |
48 lyxxxh2 229 天前 可行 10m + 临时性,redis 本来就可以存二进制。 别转 base64,当作文件一样保存到 reids 。 |