Redis适合存储海量小文件吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Tianpu
V2EX    Redis

Redis适合存储海量小文件吗?

  •  
  •   Tianpu 2013-03-30 23:59:35 +08:00 16359 次点击
    这是一个创建于 4576 天前的主题,其中的信息可能已经有所发展或是发生改变。
    大约有100万左右的小文件 是动态生成的.svg图像 每个小于4k 过期时间是86400秒

    并发需求上不是很大 .svg的生成比较耗费资源 虽然耗时也就是0.02秒左右

    为了不给系统留下隐患 还是需要缓存下

    硬件上大约能拿出4G内存来存储

    我只有使用memcachedb的经验

    有人能给点建议,redis适合我的这个需求吗?
    9 条回复    1970-01-01 08:00:00 +08:00
    yuyuyu101
        1
    yuyuyu101  
       2013-03-31 00:45:22 +08:00   1
    memcached对于大字符串效率更高
    ElmerZhang
        2
    ElmerZhang  
       2013-03-31 15:53:33 +08:00   1
    直接用Memcached就可以了,反正内存够
    thetcc
        3
    thetcc  
       2013-03-31 16:30:39 +08:00   1
    小文件是多小?只要你存储的的内容不要超过实际内存,应该没什么问题。redis里单个value的最大值是512MB,所以你小文件是绝对不会超过的。redis的key,value都可以是二进制数据或字符串。
    twm
        4
    twm  
       2013-03-31 21:14:29 +08:00 via iPhone   1
    100w,小意思
    ipconfiger
        5
    ipconfiger  
       2013-03-31 21:56:46 +08:00   1
    你还不如直接/dev/shm来得直接简单点呢
    Livid
        6
    Livid  
    MOD
    PRO
       2013-03-31 22:00:11 +08:00   1
    几个问题:

    - 实际占用的内存会大于 4G
    - 如果超过可用内存,Redis 会直接崩溃
    - 崩溃的时候可能会丢一部分数据
    - 崩溃之后再重启时,会需要花一点时间将数据从磁盘恢复到内存中,数据越多,这个时间就越长
    moyaya
        7
    moyaya  
       2013-03-31 23:18:37 +08:00   1
    redis非常吃内存啊!
    lookhi
        8
    lookhi  
       2013-03-31 23:46:26 +08:00   1
    并发需求上不是很大 .svg的生成比较耗费资源 虽然耗时也就是0.02秒左右

    压力都不大啊,每次都动态生成吧。做最大1000个图片的缓冲队列就好了。
    Tianpu
        9
    Tianpu  
    OP
       2013-04-01 18:17:34 +08:00
    感谢所有回复者 我也是印象中存在一个redis可能会崩溃的印象

    查找一翻资料后 一开始使用文件存储 最终修改成mysql存储

    文件存储是这样的结构:
    {basedir}/substr(crc32({name}),1,3)/{name}.svg
    由于未知的原因,竟然偶尔会失败,不确定是硬盘缓存导致写入失败还是别的什么原因,总之产生了很诡异的错误,大致是文件写造成的,而且是比较随机的出现

    然后又产生了别的需求 就修改成myisam存储了 目前还算稳定 暂时没有发现问题

    我不介意丢失文件 反正恢复不麻烦 只是不想偶尔还要去检查下系统是不是完蛋了

    楼上所有回复者已经送钱

    谢谢
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2968 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 22ms UTC 12:12 PVG 20:12 LAX 05:12 JFK 08:12
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86