V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
shinerene
V2EX  ›  程序员

网站如何来存储图片?

  •  
  •   shinerene ·
    Xiechen · 2013-06-28 22:58:52 +08:00 · 6124 次点击
    这是一个创建于 4148 天前的主题,其中的信息可能已经有所发展或是发生改变。
    帮同学做一个网站 来展示他平时做的ps的图

    用的是Flask来写的

    然后 问题来了 就是如何存储那些图片?是转换成二进制 储存进数据库 还是 直接储存在网站的文件夹中?
    我是菜鸟 初学者
    请问各位大大 有没有什么建议 和帮助?
    谢谢了!
    37 条回复    1970-01-01 08:00:00 +08:00
    swulling
        1
    swulling  
       2013-06-28 23:08:02 +08:00
    看图片的量,从你的描述看(展示个人的ps作品),存成文件就最简单了
    shinerene
        2
    shinerene  
    OP
       2013-06-28 23:44:45 +08:00
    @swulling 就是存成文件 在网站的文件夹中 然后每次从网站中一个个读?
    qiayue
        3
    qiayue  
       2013-06-28 23:55:50 +08:00
    <img src="这里写图片路径" />
    zhttty
        4
    zhttty  
       2013-06-28 23:59:23 +08:00   ❤️ 4
    比较好的方法是这样的,存到文件,路径放到数据库生成索引,然后显示的页面缓存成静态的,然后将缓存和图片的印象都放到内存里,再写个算法动态清理不常访问的图片印象...
    shinerene
        5
    shinerene  
    OP
       2013-06-29 09:13:33 +08:00
    @zhttty 看来大家的注意 都是比较推荐存到文件 再读取啊
    julyclyde
        6
    julyclyde  
       2013-06-29 10:12:17 +08:00
    因为关系型数据库是保存“关系”的,而不是用来保存大量无意义的实体数据的
    alexrezit
        7
    alexrezit  
       2013-06-29 10:21:13 +08:00
    CDN?
    kingxsp
        8
    kingxsp  
       2013-06-29 10:22:50 +08:00
    这个需求直接文件夹方式最好了。
    julyclyde
        9
    julyclyde  
       2013-06-29 10:23:20 +08:00
    @alexrezit CDN不是存储机制
    shinerene
        10
    shinerene  
    OP
       2013-06-29 10:32:02 +08:00
    @kingxsp 恩 打算建文件夹 来保存了
    ushuz
        11
    ushuz  
       2013-06-29 10:40:15 +08:00
    外链。
    不特别在意速度的可以放到skydrive。
    或者“微博是个好图床”,又拍云什么的。
    zhttty
        12
    zhttty  
       2013-06-29 11:13:13 +08:00
    @shinerene

    不过如果要求安全级别高,就数据库存。
    kchum
        13
    kchum  
       2013-06-29 12:18:55 +08:00
    少的话,可以考虑数据库,多的话。。还是文件把。。。
    kchum
        14
    kchum  
       2013-06-29 12:20:07 +08:00
    一般都是文件存。。
    msg7086
        15
    msg7086  
       2013-06-29 12:20:42 +08:00
    @zhttty 安全要求高可以用x-sendfile接在动态网页上。
    shinerene
        16
    shinerene  
    OP
       2013-06-29 12:22:04 +08:00
    @zhttty
    恩 安全级别 不高 先文件存着
    ccbikai
        17
    ccbikai  
       2013-06-29 13:29:52 +08:00 via iPhone
    又拍云 七牛云
    Lucius
        18
    Lucius  
       2013-06-29 13:30:38 +08:00
    阿里云OSS
    itfanr
        19
    itfanr  
       2013-06-30 22:43:56 +08:00
    @zhttty “然后将缓存和图片的印象都放到内存里,再写个算法动态清理不常访问的图片印象...” 不懂……
    julyclyde
        20
    julyclyde  
       2013-07-01 11:17:29 +08:00
    @itfanr 就是自己做个数据库
    benmao
        21
    benmao  
       2013-07-01 13:18:04 +08:00
    阿里云的就不错。
    no13bus
        22
    no13bus  
       2013-07-02 20:24:42 +08:00
    @zhttty “然后将缓存和图片的印象都放到内存里,再写个算法动态清理不常访问的图片印象...” 印象?映像?这句话不太懂
    wubo19842008
        23
    wubo19842008  
       2013-07-02 20:37:25 +08:00
    找一些在线的云存储
    2dian718
        24
    2dian718  
       2013-07-02 21:04:42 +08:00
    个人的,应该量不大,个人空间足够的话,放在上面就好了(当然还要考虑流量的问题)。数据库里面存储相应的路径就ok了。

    如果流量和空间都不够的话,考虑下云存储(没弄过)。
    2dian718
        25
    2dian718  
       2013-07-02 21:09:58 +08:00
    这个东西不建议自己做,建议找写现成的包,库之类的。

    当然自己做也没什么不好,比如1,想学习,2,有高需修。

    还有,网站有个维护的问题,自己写的,难免出现问题,你写的东西多了,出问题,再维护,就比较麻烦,所以不建议自己写。
    zhttty
        26
    zhttty  
       2013-07-02 21:53:24 +08:00   ❤️ 1
    @itfanr
    @no13bus

    很简单啊,你写个缓存方法,就譬如将页面的内容写到文件,然后将文件存到内存虚拟硬盘里边,再写个方法动态的计算次数,一定的触发机制删除最少访问的缓存文件就可以了;

    至于挂内存可以这样 mount tmpfs /var/www/html/cache -t tmpfs -o size=8192m
    likuku
        27
    likuku  
       2013-07-02 22:12:57 +08:00
    又拍云。

    内存...唉...那是 squid+tmpfs 时代的作法。

    有了 varnish,谁还用这种...要玩缓存,就上varnish。指定磁盘存储路径,这东西就自动将内存+磁盘空间统一管理,访问频繁的就自动尽可能放内存里,访问不多的就存硬盘,这些都自动调节。

    注:在web缓存领域,squid vs varnish 就类似 apache vs nginx
    likuku
        28
    likuku  
       2013-07-02 22:14:27 +08:00
    「很简单啊,你写个缓存方法,就譬如将页面的内容写到文件,然后将文件存到内存虚拟硬盘里边,再写个方法动态的计算次数,一定的触发机制删除最少访问的缓存文件就可以了;」

    varnish 就是完美解决这种需求的产品,效能非常高。
    likuku
        29
    likuku  
       2013-07-02 22:16:46 +08:00
    @shinerene 你主要存PS图,那么建议PS图生成jpg的比较小的预览图(1024*800,或者 800*600),预览页面提供真正PS文件的下载链接即可,PS可zip/gzip压缩后保存存在磁盘。
    shinerene
        30
    shinerene  
    OP
       2013-07-03 09:28:50 +08:00
    @likuku 恩 已经用了又拍云了 觉得很好用啊!
    shinerene
        31
    shinerene  
    OP
       2013-07-03 09:29:26 +08:00
    @2dian718 用了又拍云了~很方便的诶
    jjplay
        33
    jjplay  
       2013-07-03 10:17:17 +08:00
    简单复杂化,何必呢
    loading
        34
    loading  
       2013-07-03 11:09:33 +08:00 via iPhone
    存文件,nginx静态文件的效率您还不满意么?
    likuku
        35
    likuku  
       2013-07-03 13:31:27 +08:00
    @shinerene 嗯,存储能外包出去最好了...这种需求自己搞的话,越往后越难伺候。
    shinerene
        36
    shinerene  
    OP
       2013-07-03 14:13:15 +08:00
    @likuku 可是今天遇到了问题 就是 缩略图模板 用了之后 产生了 缩略图 之后 我对缩略图模板进行了 修改 然后 刷新出来的还是之前的缩略图
    sunkibin
        37
    sunkibin  
       2013-08-02 16:11:37 +08:00
    果断七牛云存储(www.qiniu.com),每个月有免费的10G的流量,更重要的是上传速度很快,你那么多图片上传得很长时间哦。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1005 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 21:20 · PVG 05:20 · LAX 13:20 · JFK 16:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.