用户筛选对应的视频数据,先去数据库,查看对应数据(根据字段)判断是否存入 redis ,如果没有存入,就先根据链接下载然后 base64 转码存入,前端渲染的数据返回的是 redis ,视频设置过期时间,每个视频大概 10 几 MB ,公司也不上云存储
询问大佬们,有没有更好的解决方案,redis 存视频,就感觉不合理

刚入职没多久,接口获取第三方数据(只有视频链接),存到本地,数据量有点大,之前没涉及过,在考虑落地方案,目前是存到本地

别喷了,我是存到本地的,研发经理说利用 redis ,我刚来,只能问一下,后续会跟他讨论

你司是不知道 redis 的价格还是你们视频太少? 要是视频几百个 T, 你们公司要报废吧

而且限制视频速度的不是 io 读写, 存内存是为了更快的速度, 你一个大视频存 redis , 去 get 单线程能把 redis 拖垮, 你去硬盘存 io 有异步, 上 CDN 就好了

你们服务器内存这么大吗,能这么挥霍啊

base64 编码后体积会变大 30%左右,存 redis 是准备爆内存吗?另外 redis 存个视频地址不好吗?

这个没用,第三方爬取到的视频地址,一段时间后可能失效

😂,我也表示不理解,不愿上云存储

视频是一定要下载下来的

莫名其妙,你放服务器硬盘上也行啊,放 redis 目的是啥?

可以,如果你也可以像我一样,有申请调配 2TB 的运行内存资源权限,就能那么样子玩。

你们的核心需求是把用户想访问的视频缓存在自己的服务器上吧?不管怎么样视频都不应该存 redis 的。搞个对象存储,用 mysql 或者 redis 维护下对象存储数据的生命周期。比如说 redis 里用 zset 实现某个文件 key 的 expire 时间监测和续期

存 redis 的目的是什么,为了更快的读取?那你换个高速 SSD 做存储不更快吗,想不通,整条链路上瓶颈难道是 IO 速度吗
为啥要 BASE64 ,直接二进制不行吗

用你的头像回应提这个需求的人。

不可行,方本地磁盘好了,做个备份

爬了之后缓存到你们自己的服务器,然后用自己的视频地址

找个开源的存储方案,存磁盘便宜。

你这不成了每个 key 都是大 key 了,你存 redis 是想要什么收益?

前端来写后台?

😂我目前是存储到本地的

自建 minio 呗。

用 MinIO 自建存储.

让我想起了把图片存数据库的神人,他妈的,备份个数据库,我想打人

❎ 艺高人胆大
✅ 年轻全不怕

这是我在 V 站看到过最离谱的方案。已经不能用家里有矿来吐槽了

拿关公大刀去切菜,会怎么样?

建议不要难为 redis 。

离谱

这么离谱的方案我要留个名