V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
greenlake
V2EX  ›  问与答

如果做一个 API 缓存的服务器

  •  
  •   greenlake · Apr 16, 2019 · 3220 views
    This topic created in 2572 days ago, the information mentioned may be changed or developed.
    平时会用到一些 api,基本上就是 get restful 的 json 数据,这些数据基本上是静态的,一天一换就可以了,怎么简单架设一个自己的服务器,然后缓存这个 api 的数据,这样我的 app 就可以不停地访问自己的服务器而不用再收费了
    22 replies    2019-04-17 10:30:01 +08:00
    MonoLogueChi
        1
    MonoLogueChi  
       Apr 16, 2019 via Android   ❤️ 1
    搞个带缓存的反向代理?
    kangzai50136
        2
    kangzai50136  
       Apr 16, 2019 via Android
    访问接口然后存进数据库咯,虽然有点麻烦。
    newmind
        3
    newmind  
       Apr 16, 2019 via Android
    cdn?
    putaozhenhaochi
        4
    putaozhenhaochi  
       Apr 16, 2019 via Android
    自己写个后端中转加缓存
    FakeLeung
        5
    FakeLeung  
       Apr 17, 2019   ❤️ 1
    自己服务器请求 + redis。

    应该可行。
    greenlake
        6
    greenlake  
    OP
       Apr 17, 2019 via iPhone
    看了大家的反馈还是没明白,其实就是先访问别人的 API,把 json 保存下来,然后自己的 app 的访问就直接下载这个保存的 json 文件,关键是用什么语言和框架?
    WordTian
        7
    WordTian  
       Apr 17, 2019 via Android   ❤️ 1
    楼主是没用过 redis 吗?
    建议以 redis 缓存 为关键字进行搜索
    night98
        8
    night98  
       Apr 17, 2019
    这也能用上 redis ?服务器一次性轮询完直接扔 map 里,app 访问直接从 map 拿数据,搞定。
    greenlake
        9
    greenlake  
    OP
       Apr 17, 2019
    @night98 什么是 map ?谢谢
    2589595915
        10
    2589595915  
       Apr 17, 2019 via iPhone   ❤️ 1
    楼上以为楼主是程序员,然而并不是。楼主需要的是整个解决方案。
    lzxgh621
        11
    lzxgh621  
       Apr 17, 2019 via Android
    啥语言框架都不用啊 系统定时任务跑个脚本更新缓存的 json 文件不就完了
    Vogan
        12
    Vogan  
       Apr 17, 2019 via iPhone
    放进内存变量里
    greenlake
        13
    greenlake  
    OP
       Apr 17, 2019
    @lzxgh621 感觉这个最简单粗暴直接
    xiaoz
        14
    xiaoz  
       Apr 17, 2019 via Android   ❤️ 1
    可以的,我就这样干,把数据缓存到 redis,几天更新一次。
    k8ser
        15
    k8ser  
       Apr 17, 2019   ❤️ 1
    做过一次,数据库都懒的用,直接放 json 文件了
    greenlake
        16
    greenlake  
    OP
       Apr 17, 2019 via iPhone
    @k8ser 这个也是用 redis 吗?
    opengps
        17
    opengps  
       Apr 17, 2019 via Android
    直接套用免费 cdn 就可以了,勾选那个参数缓存
    k8ser
        18
    k8ser  
       Apr 17, 2019
    没用数据库,我当时需求简单,直接将数据请求下来写到 json 文件了,然后隔多长时间去刷新这个 json 文件,请求接口直接读 json 文件就好
    gimp
        19
    gimp  
       Apr 17, 2019
    你的 app 请求你数据库里的内容,然后写个定时脚本访问第三方 API 更新数据库。
    jookr
        20
    jookr  
       Apr 17, 2019   ❤️ 1
    在 nginx 做缓存,请求都不需要进到后端直接返回结果
    https://jybb.me/nginx-fastcgi_cache
    gaius
        21
    gaius  
       Apr 17, 2019
    java 的话用应用缓存就行,guava cache 之类的。
    ipwx
        22
    ipwx  
       Apr 17, 2019   ❤️ 1
    你这个想法,MediaWiki 人家已经生产环境用了很久了。

    https://www.mediawiki.org/wiki/RESTBase
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2449 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 62ms · UTC 03:36 · PVG 11:36 · LAX 20:36 · JFK 23:36
    ♥ Do have faith in what you're doing.