V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
tpeng9240
V2EX  ›  程序员

redis 存储视频数据可行性

  •  
  •   tpeng9240 · 14 天前 · 4454 次点击

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

    询问大佬们,有没有更好的解决方案,redis 存视频,就感觉不合理

    第 1 条附言  ·  14 天前
    刚入职没多久,接口获取第三方数据(只有视频链接),存到本地,数据量有点大,之前没涉及过,在考虑落地方案,目前是存到本地
    第 2 条附言  ·  14 天前
    别喷了,我是存到本地的,研发经理说利用 redis ,我刚来,只能问一下,后续会跟他讨论
    第 3 条附言  ·  13 天前
    下午已经自己搭建了 minio
    第 4 条附言  ·  12 天前
    也别喷了,别人提出来的,只是探讨一下可行性,没搞过第三方数据大规模落地
    48 条回复    2025-04-14 12:04:49 +08:00
    seth19960929
        1
    seth19960929  
       14 天前   ❤️ 1
    你司是不知道 redis 的价格还是你们视频太少? 要是视频几百个 T, 你们公司要报废吧
    seth19960929
        2
    seth19960929  
       14 天前
    而且限制视频速度的不是 io 读写, 存内存是为了更快的速度, 你一个大视频存 redis , 去 get 单线程能把 redis 拖垮, 你去硬盘存 io 有异步, 上 CDN 就好了
    yooomu
        3
    yooomu  
       14 天前
    你们服务器内存这么大吗,能这么挥霍啊
    delacey
        4
    delacey  
       14 天前   ❤️ 1
    base64 编码后体积会变大 30%左右,存 redis 是准备爆内存吗?另外 redis 存个视频地址不好吗?
    tpeng9240
        5
    tpeng9240  
    OP
       14 天前
    @delacey 这个没用,第三方爬取到的视频地址,一段时间后可能失效
    tpeng9240
        6
    tpeng9240  
    OP
       14 天前
    @yooomu 😂,我也表示不理解,不愿上云存储
    tpeng9240
        7
    tpeng9240  
    OP
       14 天前
    @delacey 视频是一定要下载下来的
    zakokun
        8
    zakokun  
       14 天前
    莫名其妙,你放服务器硬盘上也行啊,放 redis 目的是啥?
    joyhub2140
        9
    joyhub2140  
       14 天前
    可以,如果你也可以像我一样,有申请调配 2TB 的运行内存资源权限,就能那么样子玩。
    Backlitz
        10
    Backlitz  
       14 天前   ❤️ 2
    你们的核心需求是把用户想访问的视频缓存在自己的服务器上吧?不管怎么样视频都不应该存 redis 的。搞个对象存储,用 mysql 或者 redis 维护下对象存储数据的生命周期。比如说 redis 里用 zset 实现某个文件 key 的 expire 时间监测和续期
    lnbiuc
        11
    lnbiuc  
       14 天前
    存 redis 的目的是什么,为了更快的读取?那你换个高速 SSD 做存储不更快吗,想不通,整条链路上瓶颈难道是 IO 速度吗
    为啥要 BASE64 ,直接二进制不行吗
    tootfsg
        12
    tootfsg  
       14 天前 via Android   ❤️ 7
    用你的头像回应提这个需求的人。
    whp1473
        13
    whp1473  
       14 天前
    不可行,方本地磁盘好了,做个备份
    facebook47
        14
    facebook47  
       14 天前 via Android
    @tpeng9240 爬了之后缓存到你们自己的服务器,然后用自己的视频地址
    cabing
        15
    cabing  
       14 天前
    找个开源的存储方案,存磁盘便宜。
    crysislinux
        16
    crysislinux  
       14 天前 via Android
    你这不成了每个 key 都是大 key 了,你存 redis 是想要什么收益?
    Loku
        17
    Loku  
       14 天前
    前端来写后台?
    tpeng9240
        18
    tpeng9240  
    OP
       14 天前
    @Loku 😂我目前是存储到本地的
    zhangjiashu2023
        19
    zhangjiashu2023  
       14 天前
    自建 minio 呗。
    igeeky
        20
    igeeky  
       14 天前
    用 MinIO 自建存储.
    var1122
        21
    var1122  
       14 天前
    让我想起了把图片存数据库的神人,他妈的,备份个数据库,我想打人
    lesismal
        22
    lesismal  
       14 天前
    ❎ 艺高人胆大
    ✅ 年轻全不怕
    hwb
        23
    hwb  
       14 天前   ❤️ 3
    这是我在 V 站看到过最离谱的方案。已经不能用家里有矿来吐槽了
    sn0wdr1am
        24
    sn0wdr1am  
       14 天前
    拿关公大刀去切菜,会怎么样?

    建议不要难为 redis 。
    beyondex
        25
    beyondex  
       14 天前 via Android
    离谱
    flytsuki
        26
    flytsuki  
       14 天前
    这么离谱的方案我要留个名
    rming
        27
    rming  
       13 天前 via iPhone
    文件缓存+redis 索引,去掉数据库,套上 cdn
    fyooo
        28
    fyooo  
       13 天前
    这是对象存储或 CDN 做的事情呢
    wxyoung
        29
    wxyoung  
       13 天前
    静态资源加载速度的瓶颈在带宽,你服务器带宽再大,有 CDN 运营商的带宽大吗
    kk2syc
        30
    kk2syc  
       13 天前
    搞瑟瑟或者盗版视频?正常企业爬取视频?
    justfun
        31
    justfun  
       13 天前
    啊啊啊 还是我脑洞太小了
    delacey
        32
    delacey  
       13 天前
    @facebook47 +1 这才是正道。自己弄个 minio 存进去
    chevalier
        33
    chevalier  
       13 天前
    小米 SU7 拉渣土可行性

    能拉,但是不建议
    mayli
        34
    mayli  
       13 天前
    如果你连 redis 可以直接存二进制不用转 base64 的话
    那可别胡思乱想了
    tpeng9240
        35
    tpeng9240  
    OP
       13 天前
    @mayli 第一次这样奇怪的需求,自建 minio 了
    oneisall8955
        36
    oneisall8955  
       13 天前
    友情提示,上两周有个 minio 使用姿势的贴子,提及 minio 主要用于局域网,提供到公网有版权风险
    musi
        37
    musi  
       13 天前
    ?把内存当硬盘用?
    还使用 base64
    tpeng9240
        38
    tpeng9240  
    OP
       13 天前
    @oneisall8955 多谢提醒,是局域网了
    ltruntu
        39
    ltruntu  
       13 天前
    能问出这个问题 就证明是神人
    benjen000
        40
    benjen000  
       13 天前 via Android
    师傅,你是做什么工作的?程序员能提出这种解决方案?
    LiuJiang
        41
    LiuJiang  
       13 天前
    好奇,你们公司啥业务?官网发下,看看
    wellbeing
        42
    wellbeing  
       13 天前
    哈哈,这个是我见过最离谱的方案
    julyclyde
        43
    julyclyde  
       13 天前
    为啥还要 base64 一下?这不是脱裤放屁吗?
    maladaxia
        44
    maladaxia  
       12 天前
    提出这个 idea 的人真是个天才
    tpeng9240
        45
    tpeng9240  
    OP
       12 天前
    @benjen000 别人提出来的,我照做,自建 minio 了
    angeni
        46
    angeni  
       12 天前
    贵司还需要研发经理吗?
    dododada
        47
    dododada  
       12 天前
    你这活儿 pornhub 大概干过,好几年前他们的技术经理说他们的业务直接跑在 redis 上的,但是没说视频数据存在哪儿
    lyxxxh2
        48
    lyxxxh2  
       12 天前
    可行
    10m + 临时性,redis 本来就可以存二进制。
    别转 base64,当作文件一样保存到 reids 。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2650 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 06:08 · PVG 14:08 · LAX 23:08 · JFK 02:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.