当前位置: 首页 > news >正文

猪八戒网做网站WordPress开启自带redis

猪八戒网做网站,WordPress开启自带redis,代理网址是什么,宣传视频制作缓存 简单概括就是将对数据库操作查询所得到的数据放入另外一台机器上(缓存)中#xff0c;当用户再次请求时#xff0c;直接去缓存中拿#xff0c;避免对数据库的频繁操作#xff0c;加快数据的显示时间#xff0c;需要知道的是#xff0c;缓存里面的数据一般都设置有超时…缓存 简单概括就是将对数据库操作查询所得到的数据放入另外一台机器上(缓存)中当用户再次请求时直接去缓存中拿避免对数据库的频繁操作加快数据的显示时间需要知道的是缓存里面的数据一般都设置有超时时间缓存一般用在数据变化不大实时率不高的情况下。 由于Django是动态网站所有每次请求均会去数据进行相应的操作当程序访问量大时耗时必然会更加明显最简单解决方式是使用缓存缓存将一个某个views的返回值保存至内存或者memcache中5分钟内(默认配置)再有人来访问时则不再去执行view中的操作而是直接从内存或者Redis中之前缓存的内容拿到并返回。 Django中提供了6种缓存方式 开发调试内存文件数据库Memcache缓存python-memcached模块Memcache缓存pylibmc模块 配置 a、开发调试 # 此为开始调试用实际内部不做任何操作# 配置CACHES {default: {BACKEND: django.core.cache.backends.dummy.DummyCache, # 引擎TIMEOUT: 300, # 缓存超时时间默认300None表示永不过期0表示立即过期OPTIONS:{MAX_ENTRIES: 300, # 最大缓存个数默认300CULL_FREQUENCY: 3, # 缓存到达最大个数之后剔除缓存个数的比例即1/CULL_FREQUENCY默认3},KEY_PREFIX: , # 缓存key的前缀默认空VERSION: 1, # 缓存key的版本默认1KEY_FUNCTION 函数名 # 生成key的函数默认函数会生成为【前缀:版本:key】}}# 自定义keydef default_key_func(key, key_prefix, version):Default function to generate keys.Constructs the key used by all other methods. By default it prependsthe key_prefix. KEY_FUNCTION can be used to specify an alternatefunction with custom key making behavior.return %s:%s:%s % (key_prefix, version, key)def get_key_func(key_func):Function to decide which key function to use.Defaults to default_key_func.if key_func is not None:if callable(key_func):return key_funcelse:return import_string(key_func)return default_key_func View Code b、内存 # 此缓存将内容保存至内存的变量中# 配置CACHES {default: {BACKEND: django.core.cache.backends.locmem.LocMemCache,LOCATION: unique-snowflake,}}# 注其他配置同开发调试版本就是将开发调试版本里面的这几句换成上面这个即可 View Code c、文件(网站比较小还没钱可以用文件的形式) # 此缓存将内容保存至文件# 配置CACHES {default: {BACKEND: django.core.cache.backends.filebased.FileBasedCache,LOCATION: /var/tmp/django_cache,}}# 注其他配置同开发调试版本 View Code d、数据库 # 此缓存将内容保存至数据库# 配置CACHES {default: {BACKEND: django.core.cache.backends.db.DatabaseCache,LOCATION: my_cache_table, # 数据库表}}# 注执行创建表命令 python manage.py createcachetable View Code e、Memcache缓存python-memcached模块 # 此缓存使用python-memcached模块连接memcacheCACHES {default: {BACKEND: django.core.cache.backends.memcached.MemcachedCache,LOCATION: 127.0.0.1:11211,}}CACHES {default: {BACKEND: django.core.cache.backends.memcached.MemcachedCache,LOCATION: unix:/tmp/memcached.sock,}} CACHES {default: {BACKEND: django.core.cache.backends.memcached.MemcachedCache,LOCATION: [172.19.26.240:11211,172.19.26.242:11211,]}} View Code f、Memcache缓存pylibmc模块 # 此缓存使用pylibmc模块连接memcacheCACHES {default: {BACKEND: django.core.cache.backends.memcached.PyLibMCCache,LOCATION: 127.0.0.1:11211,}}CACHES {default: {BACKEND: django.core.cache.backends.memcached.PyLibMCCache,LOCATION: /tmp/memcached.sock,}} CACHES {default: {BACKEND: django.core.cache.backends.memcached.PyLibMCCache,LOCATION: [172.19.26.240:11211,172.19.26.242:11211,]}} View Code g. Redis缓存依赖pip3 install django-redis CACHES {default: {BACKEND: django_redis.cache.RedisCache,LOCATION: redis://127.0.0.1:6379,OPTIONS: {CLIENT_CLASS: django_redis.client.DefaultClient,CONNECTION_POOL_KWARGS: {max_connections: 100}# PASSWORD: 密码,}} } View Code from django_redis import get_redis_connection conn get_redis_connection(default) 视图中链接并操作 应用 a. 全站使用(利用Django中间件) 使用中间件经过一系列的认证等操作如果内容在缓存中存在则使用FetchFromCacheMiddleware获取内容并返回给用户当返回给用户之前判断缓存中是否已经存在如果不存在则UpdateCacheMiddleware会将缓存保存至缓存从而实现全站缓存MIDDLEWARE [django.middleware.cache.UpdateCacheMiddleware,# 其他中间件...django.middleware.cache.FetchFromCacheMiddleware,]CACHE_MIDDLEWARE_ALIAS CACHE_MIDDLEWARE_SECONDS CACHE_MIDDLEWARE_KEY_PREFIX View Code b. 单独视图缓存 方式一from django.views.decorators.cache import cache_pagecache_page(60 * 15)def my_view(request):...方式二from django.views.decorators.cache import cache_pageurlpatterns [url(r^foo/([0-9]{1,2})/$, cache_page(60 * 15)(my_view)),] View Code c、局部视图(html页面)使用 a. 引入TemplateTag{% load cache %}b. 使用缓存{% cache 5000 缓存key %}缓存内容{% endcache %} View Code   信号 抛砖引玉 1.如何对数据库的增加操作记录日志 2.信号比中间件的区别 Django中提供了“信号调度”用于在框架执行操作时解耦。通俗来讲就是一些动作发生的时候信号允许特定的发送者去提醒一些接受者。 Django内置信号 Model signals     pre_init                    # django的modal执行其构造方法前自动触发     post_init                   # django的modal执行其构造方法后自动触发     pre_save                    # django的modal对象保存前自动触发     post_save                   # django的modal对象保存后自动触发     pre_delete                  # django的modal对象删除前自动触发     post_delete                 # django的modal对象删除后自动触发     m2m_changed                 # django的modal中使用m2m字段操作第三张表add,remove,clear前后自动触发     class_prepared              # 程序启动时检测已注册的app中modal类对于每一个类自动触发 Management signals     pre_migrate                 # 执行migrate命令前自动触发     post_migrate                # 执行migrate命令后自动触发 Request/response signals     request_started             # 请求到来前自动触发     request_finished            # 请求结束后自动触发     got_request_exception       # 请求异常后自动触发 Test signals     setting_changed             # 使用test测试修改配置文件时自动触发     template_rendered           # 使用test测试渲染模板时自动触发 Database Wrappers     connection_created          # 创建数据库连接时自动触发 对于Django内置的信号仅需在Django必定能执行的地方注册指定信号当程序执行相应操作时自动触发注册函数 from django.core.signals import request_finishedfrom django.core.signals import request_startedfrom django.core.signals import got_request_exceptionfrom django.db.models.signals import class_preparedfrom django.db.models.signals import pre_init, post_initfrom django.db.models.signals import pre_save, post_savefrom django.db.models.signals import pre_delete, post_deletefrom django.db.models.signals import m2m_changedfrom django.db.models.signals import pre_migrate, post_migratefrom django.test.signals import setting_changedfrom django.test.signals import template_renderedfrom django.db.backends.signals import connection_createddef callback(sender, **kwargs):print(xxoo_callback)print(sender,kwargs)xxoo.connect(callback)# xxoo指上述导入的模块名 View Code from django.core.signals import request_finished from django.dispatch import receiverreceiver(request_finished) def my_callback(sender, **kwargs):print(Request finished!) View Code 自定义信号  转载于:https://www.cnblogs.com/Dominic-Ji/p/9279742.html
http://www.zqtcl.cn/news/937944/

相关文章:

  • 泰州网站开发网站建设个可行性研究
  • 网站ipv6改造怎么做 网页代码网页游戏在线玩链接
  • 做网站和优化学校asp网站
  • 佛山正规网站建设哪家好合肥专业网站优化价格
  • 华容网站免费ppt模板下载医学类
  • 网站注册申请艺术风格网站
  • 怎么上国外购物网站网站毕业作品代做
  • wordpress 描述字段seo排名技术教程
  • 重庆seo网站建设wordpress评论邮件插件
  • 企业网站模板下载网站模板下载做一个购物商城网站多少钱
  • 网站开发有哪些服务推荐电子商务网站建设
  • 网站交互技术网站框架类型
  • 国内网站建设公司top20对软件开发的理解和认识
  • 一键生成网站前端开发用什么语言
  • pc 网站建设苏州seo网站诊断
  • 江苏盐城建筑公司网站seo专员的工作内容
  • 做网站内容腾讯云wordpress教程
  • 如何建设 linux 网站旅游区网站开发
  • 云南网站设计哪家好wordpress 右边栏
  • 服务器网站部署端口配置网站,商城,app+建设
  • 如何做公司网站优化装修店铺
  • 网站开发中常见的安全漏洞卢松松博客源码 wordpress博客模板
  • 美妆销售网站开发的目的东莞营销网站
  • 企业网站管理系统使用教程域名到期 网站打不开
  • 长春网站建设哪家专业国外免备案域名
  • 网站后台上传图片做难吗网站特效怎么做的
  • 泉州网站优化lamp环境做网站
  • 设计常用网站网站常见程序问题
  • 做网站竟然不知道cms如何添加网站图标
  • 东莞阳光网站官网缘魁上海网站建设