首页 > Web开发 > 详细

Redis缓存网页及数据行

时间:2020-05-24 17:27:14      阅读:64      评论:0      收藏:0      [点我收藏+]

 

缓存网页

在有些网站上的首页不会经常发生大的变化,这些页面不需要每次载入都要动态生成的内容,我们可以使用缓存来降低网站处理相同负载所需的服务器数量,并让网站的速度变得更快。

Flask+Redis使用缓存页面的功能:

import redis
from flask import Flask,request
app = Flask(__name__)
@app.route(/index)
def index():
    conn = redis.Redis(connection_pool=pool)
    content = cache_request(conn,request.url,callback)
    return content

def cache_request(conn,request,callback):

    # 1.判断请求是否可以被缓存
    if not can_cache(conn,request):
        return callback(request)
    # 2.生成key
    page_key = "cache" + hash_request(request)
    print("page_key:",page_key)
    #3.判断是否已经被缓存
    content = conn.get(page_key)
    #如果没有被缓存,则生成缓存,过期时间300秒
    if not content:
        content = callback(request)
        conn.setex(page_key,300,content)
    return content
#判断此请求是否应该被缓存
def can_cache(conn,request):
    return True
#
def hash_request(request):
    return str(hash(request))

def callback(request):
   return <h1>Hello World!</h1>
if __name__ == __main__:
    pool = redis.ConnectionPool(host=localhost, port=6379, decode_responses=True)
    app.run(host=127.0.0.1,port=8080,debug=True)

#  pool = redis.ConnectionPool(host=‘localhost‘, password=‘密码‘,port=6379, decode_responses=True)
#  pool = redis.ConnectionPool(host=‘localhost‘, port=6379, decode_responses=True)

关于flask其他缓存方面:使用 Flask-Cache 缓存应用

 

缓存数据行

待续。

 

Redis缓存网页及数据行

原文:https://www.cnblogs.com/-wenli/p/12951410.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!