• 首页
  • 欧博注册
  • 欧比体育注册
  • 欧博体育注册
  • 欧博游戏平台
  • 欧博体育网站
  • 欧博体育入口
  • 欧博会员开户
  • 欧博备用网址网址
  • 欧博体育代理
  • 你的位置:欧博在线代理 > 欧博游戏平台 > 开云色碟网站被封锁_一日一技:带落伍时分的缓存、全文搜索、频率放手怎么作念?

    开云色碟网站被封锁_一日一技:带落伍时分的缓存、全文搜索、频率放手怎么作念?

    发布日期:2023-10-30 04:58    点击次数:79

    开云色碟网站被封锁_一日一技:带落伍时分的缓存、全文搜索、频率放手怎么作念?

    皇冠客服飞机:@seo3687开云色碟网站被封锁_

    [[442671]]澳门捕鱼

    在畴昔的著作里面,我给群众先容了使用Python自带的LRU缓存收尾带有落伍时分的缓存:一日一技:收尾存落伍时分的LRU缓存。也讲过倒排索引:使用倒排索引极速擢升字符串搜索效劳。但这些代码对入门者来说相比难,写起来可能会出错。

    网站被封锁

    骨子上,这些功能其实皆不错使用Redis来收尾,而且每个功能只需要1分钟就能作念出来。全文搜索功能在搜索英文的技巧,甚而不错智能识别拼写诞妄的问题。

    要收尾这些功能,只需要作念两件事:

    装置Redis

    Python装置第三方库:walrus

    装置完成以后,咱们来望望它有多轻佻:

    带落伍时分的缓存湮灭器

    咱们思收尾一个湮灭器,它湮灭一个函数。让我在1分钟内屡次探听函数的技巧,使用缓存的数据;稀奇1分钟以后才再行实行函数的里面代码:

    火博士灭火器
    import 澳门捕鱼time import datetime from walrus import Database  db = Database() cache = db.cache()  @cache.cached(timeout=60) def test():     print('函数竟然运行起来')     now = datetime.datetime.now()     return now  now = test() print('函数复返的数据是:', now) time.sleep(10) # 恭候10秒,此时会使用缓存 print('函数复返的数据是:', test()) time.sleep(5) # 恭候5秒,此时如故使用缓存 print('函数复返的数据是:', test())  time.sleep(50)  # 让时分稀奇缓存的时分 print('函数复返的数据是:', test()) 

    运行后果如下图所示:

    全文搜索

    咱们再来望望全文搜索功能,收尾起来也很轻佻:

    from walrus import Database  db = Database() search = db.Index('xxx')  # 这个名字磨蹭取 poem1 = 'Early in the day it was whispered that we should sail in a boat, only thou and I, and never a soul in the world would know of this our pilgrimage to no country and to no end.' poem2 = 'Had I the heavens’ embroidered cloths,Enwrought with golden and silver light' poem3 = 'to be or not to be, that is a question.'  search.add('docid1', poem1) # 第一个参数不成重迭 search.add('docid2', poem2) search.add('docid3', poem3)   for doc in search.search('end'):     print(doc['content']) 

    运行后果如下图所示:

    博彩市场的合法化是大势所趋,皇冠体育将继续为广大玩家提供优质的博彩服务。

    要是你思让他兼容拼写诞妄,那么不错把search = db.Index('xxx')改成search = db.Index('xxx’, metaphone=True),运行后果如下图所示:

    不外缺憾的是,这个全文搜索功能只复旧英文。

    频率放手

    咱们有技巧要放手调用某个函数的频率,简略网站的某个接口要放手IP的探听频率。这个技巧,使用walrus也不错收缩收尾:

    import time from walrus import Database  db = Database() rate = db.rate_limit('xxx', limit=5, per=60) # 每分钟只可调用5次  for _ in range(35):     if rate.limit('xxx'):         print('探听频率太高!')     else:         print('还莫得触发探听频率放手')     time.sleep(2) 

    运行后果如下图所示:

    其中参数limit暗意能出现些许次,per暗意在多万古天职。

    rate.limit唯有传入交流的参数,那么就会初始查抄这个参数在设定的时天职出现的频率。

    开云色碟欧博棋牌游戏注册送彩金

    你可能以为这个例子并不成讲解什么问题,那么咱们跟FastAPI结合一下,欧博备用网址网址用来放手IP探听接口的频率。编写如下代码:

    from walrus import Database, RateLimitException from fastapi import FastAPI, Request from fastapi.responses import JSONResponse  db = Database() rate = db.rate_limit('xxx', limit=5, per=60) # 每分钟只可调用5次  app = FastAPI()   @app.exception_handler(RateLimitException) def parse_rate_litmit_exception(request: Request, exc: RateLimitException):     msg = {'success': False, 'msg': f'请喝杯茶,休息一下,你的ip: {request.client.host}探听太快了!'}     return JSONResponse(status_code=429, content=msg)  @app.get('/') def index():     return {'success': True}   @app.get('/important_api') @rate.rate_limited(lambda request: request.client.host) def query_important_data(request: Request):     data = '垂危数据'     return {'success': True, 'data': data} 

    上头代码界说了一个全局的特别阻扰器:

    @app.exception_handler(RateLimitException) def parse_rate_litmit_exception(request: Request, exc: RateLimitException):     msg = {'success': False, 'msg': f'请喝杯茶,休息一下,你的ip: {request.client.host}探听太快了!'}     return JSONResponse(status_code=429, content=msg) 

    在总共代码的任何地点抛出了RateLimitException特别,就会插足这里的逻辑中。

    使用湮灭器@rate.rate_limited湮灭一个路由函数,何况这个湮灭器要更伙同函数。路由函数收受什么参数,它就收受什么参数。在上头的例子中,咱们只收受了request参数,用于得回探听者的IP。发现这个IP的探听频率稀奇了放手,就抛出一个RateLimitException。于是前领域说好的全局阻扰器就会阻扰RateLimitException特别,阻扰到以后复返咱们界说好的报错信息。

    zh皇冠网官网

    在频率鸿沟内探听页面,复返浩繁的JSON数据:

    频率稀奇设定的值以后,探听页面就会报错,如下图所示:

    回来

    walrus对redis-py进行了很好的二次封装,用起来稀奇顺遂。除了上头我提到的三个功能外,它还不错收尾几行代码生成布隆过滤器,收尾自动补全功能,收尾绵薄图数据库等等。群众不错探听它的官方文档了解注视使用讲解[1]。

    皇冠十三水APP下载 参考文件

    [1] 官方文档了解注视使用讲解: https://walrus.readthedocs.io/en/latest/getting-started.html

    皇冠hg86a

    本文转载自微信公众号「未闻Code」,不错通过以下二维码暖和。转载本文请有关未闻Code公众号。

    皇冠信用盘登3出租

    金融案件反映出的共性问题,主要有:民间借贷纠纷存在收取高息现象,出借人和借款人证据意识不足、维权意识不高等问题仍存在。金融借款合同纠纷存在息费收取不合理、线上业务举证能力弱、银行宣布贷款提前到期方式不规范等问题。保证保险合同纠纷存在保险公司未就保险费率、款项扣除等事项进行详细说明等问题。

    艺术

     



    上一篇:没有了

    相关资讯