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

浏览器端 js 编程需存储大量数据,有什么好的方法?session 和 localstorage 远远不够啊

  •  
  •   Taivas ·
    Taivas · 2014-09-17 22:49:17 +08:00 · 7340 次点击
    这是一个创建于 3730 天前的主题,其中的信息可能已经有所发展或是发生改变。
    后台不断向前端推送差不多一两个G的离散数据,要全部存储供离线即时回放显示,但session和localstorage只有5M。咱先抛开逗不逗b不说,不考虑发回后台存储,就纯技术角度来说,如果非要在浏览器端解决可能吗?只用var数组来存最大又能存多少数据?
    28 条回复    2014-09-20 10:40:30 +08:00
    atan
        1
    atan  
       2014-09-17 22:58:40 +08:00
    firebase算吗?
    vincenting
        2
    vincenting  
       2014-09-17 23:05:47 +08:00   ❤️ 1
    想到的依旧是使用 localstorage,通过很多二级域名的方式来实现大小的拓展。关于跨域: http://www.nczonline.net/blog/2010/09/07/learning-from-xauth-cross-domain-localstorage/
    sneezry
        3
    sneezry  
       2014-09-17 23:21:35 +08:00
    如果可以只兼容Chrome,可以通过Chrome App为指定网站声明unlimited storage权限,这样就没有5MB的限制了。不过localStorage储存大数据速度是很慢的,非常非常慢。
    zenozeng
        4
    zenozeng  
       2014-09-17 23:24:09 +08:00
    indexeddb
    jsonline
        5
    jsonline  
       2014-09-17 23:25:37 +08:00
    你想干啥
    manfay
        6
    manfay  
       2014-09-17 23:29:03 +08:00
    这……是不是相当于用flash在线看了一电影?
    chairuosen
        7
    chairuosen  
       2014-09-17 23:30:51 +08:00   ❤️ 1
    Taivas
        8
    Taivas  
    OP
       2014-09-18 10:19:03 +08:00
    @atan firebase不是走后端的么。。。我希望能完成的是前端存储。。。不过还是谢谢你的建议嗯~
    Taivas
        9
    Taivas  
    OP
       2014-09-18 10:21:08 +08:00
    @vincenting 我会测试一下,这个应该可以本质上解决存储容量的问题,谢谢!
    @chairuosen localForage貌似对提高存取效率有很大提升,谢谢!
    Taivas
        10
    Taivas  
    OP
       2014-09-18 10:21:45 +08:00
    @sneezry 非常感谢您的建议!但是可惜的是不能只限于chrome
    Taivas
        11
    Taivas  
    OP
       2014-09-18 10:24:38 +08:00
    @zenozeng 非常感谢!您可以看一下@chairuosen 提到的localForage,它本质也是利用了indexeddb
    Taivas
        12
    Taivas  
    OP
       2014-09-18 10:25:24 +08:00
    @jsonline 业务不便细说,需求已经描述了=。=
    Actrace
        13
    Actrace  
       2014-09-18 10:38:02 +08:00   ❤️ 1
    HTML支持本地文件读写了.
    tushiner
        14
    tushiner  
       2014-09-18 11:50:02 +08:00   ❤️ 1
    对,html本地IO
    guotie
        15
    guotie  
       2014-09-18 13:11:04 +08:00
    html怎样本地读写?
    zenozeng
        16
    zenozeng  
       2014-09-18 15:57:46 +08:00
    @Taivas 确实,似乎你这个场景用封装的库会方便好多
    iwege
        17
    iwege  
       2014-09-18 16:37:42 +08:00
    flash.
    要往用户那边推送一个 G 的数据,又不限定浏览器...
    willwen
        18
    willwen  
       2014-09-18 23:34:09 +08:00 via iPhone
    http://github.com/iwillwen/mindb 你會覺得這是比較適合的方案的。
    Taivas
        19
    Taivas  
    OP
       2014-09-19 13:58:41 +08:00
    @willwen 看起来不错~但是关于最大存储量方面没有提及,如果本质上还是调用localstorage, indexeddb之类的那还是没有用。谢谢嗯~
    jedihy
        20
    jedihy  
       2014-09-19 19:46:40 +08:00 via iPhone
    @Taivas 用flash试试
    sampeng
        21
    sampeng  
       2014-09-20 01:55:00 +08:00
    你要存多少数据啊。。。
    userdata+localstorage。存个几百M数据还是蛮轻松的,跨浏览器,无痛。。这么多优点你不用,你要用flash这个cpu动不动就卡死用户的
    几百兆还不够你玩的?
    willwen
        22
    willwen  
       2014-09-20 09:26:43 +08:00 via iPhone
    @Taivas 請看StoreInterface部分的文檔,完全可以解決
    Taivas
        23
    Taivas  
    OP
       2014-09-20 09:56:22 +08:00
    @willwen 看了嗯,如果我没看错本质上确实还是调用了localStorage和sessionStorage,默认都是大小5M的限制
    Taivas
        24
    Taivas  
    OP
       2014-09-20 09:58:08 +08:00
    @sampeng 主题里已经提及了数据量差不多1,2个G。。。
    Taivas
        25
    Taivas  
    OP
       2014-09-20 09:59:26 +08:00
    @iwege @jedihy 考虑框架选了ext。。。所以还是不要用flash了,谢谢提议~
    Taivas
        26
    Taivas  
    OP
       2014-09-20 10:00:28 +08:00
    @Actrace @tushiner 目前最简单粗暴有效的方案应该就是这个了,谢谢~
    willwen
        27
    willwen  
       2014-09-20 10:07:00 +08:00 via iPhone   ❤️ 1
    @Taivas 如果你需要的話,我可以教你寫本地IO的Store。目前MinDB暫時是最好的前端數據操作方案。
    Taivas
        28
    Taivas  
    OP
       2014-09-20 10:40:30 +08:00
    @willwen 好的,联系方式已邮箱你,谢谢~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1342 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 23:42 · PVG 07:42 · LAX 15:42 · JFK 18:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.