bottle.py中的路由搜索优化

# Now search regexp routes
# ROUTES_REGEXP是一个字典,键是请求方法,值是[路由, 处理函数]的列表
# 例如:{"GET", [[路由1, 处理函数1], [路由2, 处理函数2]]}
routes = ROUTES_REGEXP.get(method,[])
for i in xrange(len(routes)):
    match = routes[i][0].match(url)
    if match:
        handler = routes[i][1]
        if i > 0 and OPTIMIZER and random.random() <= 0.001:
          # Every 1000 requests, we swap the matching route with its predecessor.
          # Frequently used routes will slowly wander up the list.
          # 有千分之一的概率,可以与前面的路由互换位置,这样使用越频繁的路由就会
          # 被换的越靠前,搜索起来效率就越高
          routes[i-1], routes[i] = routes[i], routes[i-1]
        return handler, match.groupdict()
raise HTTPError(404, "Not found")
时间: 2024-12-03 06:16:50

bottle.py中的路由搜索优化的相关文章

bottle.py中的路由解析代码

# Routing def compile_route(route): """ Compiles a route string and returns a precompiled RegexObject. Routes may contain regular expressions with named groups to support url parameters. Example: '/user/(?P<id>[0-9]+)' will match '/us

bottle.py中的SimpleTemplate

import re class SimpleTemplate(object): re_block = re.compile(r'^\s*%\s*((if|elif|else|try|except|finally|for|while|with).*:)\s*$') re_end = re.compile(r'^\s*%\s*end(.*?)\s*$') re_code = re.compile(r'^\s*%\s*(.*?)\s*$') re_inc = re.compile(r'\{\{(.*?

django中url路由配置及渲染方式

今天我们学习如何配置url.如何传参.如何命名.以及渲染的方式,内容大致有以下几个方面. 创建视图函数并访问 创建app django中url规则 捕获参数 路径转换器 正则表达式 额外参数 渲染方式 创建视图并访问 项目中自带的Python文件中,并没有带有视图,因此我们自己创建一个,通常,我们把视图命名views.py. 然后在views.py中,导入头文件  from django.http import HttpResponse 然后我们在views.py中,写一些Python函数,用来

注册域名与SEO搜索优化

注册域名应该考虑哪些对SEO和网站运营影响 域名是互联网公司和个人网站的无形资产之一,网站的内容.流量都有域名有关系. 一个好的域名对SEO搜索引擎优化和网站运营都有一定的影响. 1.域名的后缀 一般情况下都注册.com 因为这个基本被认为顶级的域名,应该也是最有价值的域名. 但对于一些区域性和特定性.cn..net也是不错的选择. 可以参考:<域名后缀-SEO搜索引擎优化 > 2.域名中的关键词 注册的域名其实首先要考虑到的就是简单,容易记.有时我们也在考虑域名中的关键 词,但作为中文来说拼

淘宝在hbase中的应用和优化

本文来自于NoSQLFan联合作者@koven2049,他在淘宝从事Hadoop及HBase相关的应用和优化.对Hadoop.HBase都有深入的了解,本文就是其在工作中对HBase的应用优化小结,分享给大家. 目 录 [ - ] 前言 原因 应用情况 部署.运维和监控 测试与发布 改进和优化 将来计划 前言 hbase是从 hadoop中分离出来的apache顶级开源项目.由于它很好地用java实现了google的bigtable系统大部分特性,因此在数据量猛增的今天非常受到欢迎.对于淘宝而言

你的网站做好神马搜索优化了吗?神马搜索站长工具提交

神马搜索借助uc的优势,可直接在地址输入框中输入关键词就可以搜索了,免去了输网址的麻烦(这个在国外有点long duan的嫌疑).如果你的网站被bd等se收录了以后一般也是会被神马搜索收录的,查询方法也是用site:***.com.那么我们做好神马搜索优化呢? 既然神马搜索支持site指令,根据genfeng是思路,那它是不是也有站长工具平台呢?答案是有的,只不过得到这个结果稍微有点迂回.起初在网上搜索了相关问题都没找到,后面想想神马搜索是在uc上的,那在uc官网应该有一些提示.在uc社区的神马

Bottle开发者中文文档(1)——安装

本教程会介绍给你一些Bottle web 框架的的一些概念和特性,以及包括一些基础的和高级主题.你可将本教程从头到尾阅读一边,也可以以后将其当做参考书来使用.自动生成的 API Reference  你也许也会感兴趣.API reference 设计更多的细节,但是相对于教程则没有这么多的讲解.常见问题的解决方案在我么的 Recipes 收集页或者在Frequently Asked Questions 页.如果你需要任何帮助请加入我们的mailing list 或者访问 我们的 IRC chan

flask在其他文件中添加路由

应用文件为:app.py 1 from flask import Flask 2 app = Flask(__name__) 3 4 @app.route("/") 5 def hello(): 6 return "Hello World!" 7 8 if __name__ == '__main__': 9 app.run() 如果不想在这个文件中添加新路由,怎么办? 有个直观的办法, 新建test.py 1 def add_new_routes(app): 2 @

scrapy 中 settings.py 中字段的意思

# -*- coding: utf-8 -*- # Scrapy settings for fenbushi project## For simplicity, this file contains only settings considered important or# commonly used. You can find more settings consulting the documentation:## https://doc.scrapy.org/en/latest/topi