设计一个路由

简单地说一下常见的路由形式。

  • 数组存储。按照添加路由的顺序存储在数组中,查找时依次匹配。这种路由效率比较低。tornado就是这么设计的。

  • 字典存储。把路由存储在map里,查找效率很高,但是不支持URI中有参数。Golang中默认的mux就这么设计的。

  • 树。一般使用前缀树,空间更紧凑的用radix tree。如 httprouter 就是这种设计。

一般就这么几种,可能会有些许细节上的不同。


更多文章
  • C, Go, Python的错误处理和异常机制杂谈
  • 好的命名是最好的文档
  • 读《系统之美:决策者的系统思考》
  • Linux高分屏支持
  • GCC默认的头文件搜索路径
  • 读《远见-如何规划职业生涯3大阶段》
  • 后端工程师学前端(五): SASS
  • 后端工程师学前端(四): CSS进阶(盒子模型)
  • 读《投资中最简单的事》
  • 后端工程师学前端(三): CSS进阶(特指度、单位和字体族)
  • 后端工程师学前端(二): CSS基础知识(规则与选择器)
  • Swift语法笔记
  • 读《管理的实践》
  • 后端工程师学前端(一): HTML
  • frp 源码阅读与分析(二):TCP内网穿透的实现