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

如果优化千上万个 URL 静态路由

  •  
  •   l890908 · 2020-06-30 10:55:18 +08:00 · 2476 次点击
    这是一个创建于 1598 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前已经有几百个 URL 静态路由了,这些静态路由没有明确的共同点,也都对应不同的数据库或者功能,每个页面也是功能不一样,类似于程序员工具大全,都是一个个不同功能的页面,那如果有几千个这样静态路由呢,会影响速度吗,思来想去没有好的解决办法。

    求大神赐招
    11 条回复    2020-06-30 13:57:17 +08:00
    guyeu
        1
    guyeu  
       2020-06-30 11:15:10 +08:00
    hao123 ?
    AngryPanda
        2
    AngryPanda  
       2020-06-30 11:16:59 +08:00
    优化的目的是什么?想要达成什么效果
    l890908
        3
    l890908  
    OP
       2020-06-30 11:19:31 +08:00
    @AngryPanda 担心如果静态路由太多,影响访问速度
    l890908
        4
    l890908  
    OP
       2020-06-30 11:21:08 +08:00
    @guyeu hao123 还好吧,静态路由很少,都是二级三级域名
    HelloAmadeus
        5
    HelloAmadeus  
       2020-06-30 11:22:05 +08:00 via iPhone
    静态路由还有什么性能瓶颈,哈希表或者 radix tree 搞定没问题,还没见过 web 应用性能瓶颈在路由上的
    DoubleShut
        6
    DoubleShut  
       2020-06-30 11:25:52 +08:00
    生成静态页呗
    rrfeng
        7
    rrfeng  
       2020-06-30 11:26:07 +08:00
    都是静态的?不需要正则匹配啥的? hash table 直接搞定了啊……
    GeruzoniAnsasu
        8
    GeruzoniAnsasu  
       2020-06-30 11:30:47 +08:00
    啊。。。 贵前端圈已经慢到一万个字符串就要考虑性能优化的程度了?(滑稽
    lxrmido
        9
    lxrmido  
       2020-06-30 11:36:48 +08:00
    几千上万个达不到影响速度的程度的……
    xuanbg
        10
    xuanbg  
       2020-06-30 13:17:34 +08:00
    哈希匹配莫说上万,就是几千万也是一样的速度。但有些带路径参数的 url 就做不了哈希,只能上正则,正则匹配就要遍历数组了。

    所以优化的办法就是把哈希和正则分成 2 个集合,先哈希再正则。
    mazhan465
        11
    mazhan465  
       2020-06-30 13:57:17 +08:00
    要是带路径参数路由,就用二级路由吧,路由两遍
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1027 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 22:06 · PVG 06:06 · LAX 14:06 · JFK 17:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.