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

响应式网站是什么意思品牌推广的方式有哪些

响应式网站是什么意思,品牌推广的方式有哪些,四川住房城乡建设部网站,中国建设银行信用卡应用环境 django4.2.3 ,python3.10 由于对于服务而言,有些数据查询起来比较费时,所以,对于有些数据,我们需要将其缓存。 最近做了一个服务,用的时 DRF 的架构,刚好涉及缓存,特此记…

应用环境 django4.2.3 ,python3.10 

由于对于服务而言,有些数据查询起来比较费时,所以,对于有些数据,我们需要将其缓存。

最近做了一个服务,用的时 DRF 的架构,刚好涉及缓存,特此记录。

DRF的缓存,和django自带的缓存有个比较大的区别:django自带的缓存,一旦将数据缓存,那么数据源一旦发生变化,那么我们从缓存中取到的内容,就是老的内容,并不是最新的内容。但是  DRF 的缓存,却是会自动更新的,比如,已经缓存了数据库的一些数据,这时,数据库的这些数据被更新了,那么,DRF 也将会对已经缓存了的数据自动进行更新。

然后,看下大致的用法:

先下载包:

pip3 install drf-extensions
from rest_framework.generics import GenericAPIView
from rest_framework.response import Response
from machines.models import Repository
from rest_framework_extensions.cache.decorators import cache_response
from machines.api.serializers import RepositorySerializersclass RepoInfoViewSet(GenericAPIView):queryset = Repository.objects.all()serializer_class = RepositorySerializersdef _get_repositories(self, state, servicename, service_port):base = Repository.objectsreturn Response(self.get_serializer(instance=base.all(),many=True).data)@staticmethoddef set_cache_key(request, *args, **kwargs):return request.path@cache_response(timeout=300, cache='default', key_func='set_cache_key')def get(self, request, state=None, servicename=None, service_port=None):return self._get_repositories(state, servicename, service_port)

大概说下,cache_response 方法就可以直接搞缓存,它里面那几个参数,

timeout:指缓存的过期时间。

cache:指在要用的缓存对象,它的值,就是在 settings.py 中 CACHES 参数中的配置的 key。

key_func:这里涉及一个问题,通常情况下,缓存的时候都是这么干的:cache.set("key", "value", 60) , 就是说,缓存对象,存一个key,以及要缓存的内容value,和缓存的过期时间。那么,一般来说,这个key,是不需要我们直接提供的,django会自动分配一个独一无二的key给它,在 DRF中,用的是这个对象:

 它将为要缓存的对象,构建一个独一无二的key,之所以介绍这么一个东西,是因为,这个key,将涉及清除缓存的问题,如果是清除所有缓存,那就无所谓,不存在问题,直接 clear() 完事,但是如果涉及定点清除,那么问题就来了,我们根本就不知道我们要清除的数据它的key是多少,那么就没法清除具体的某个缓存了。所以,这个时候,就需要用到 key_func 这个参数,我们需要构建一个制作key的函数,让其返回一个字符串,来成为我们要缓存对象的key,这样以来,我们就知道了缓存对象的key,后续如果需要清除掉这个缓存就可以直接 cache.delete(key) 来清除它了。

我的这个示例中自己构造了set_cache_key函数来制作我需要的缓存key,它的执行结果是这样的:

先访问一次服务,让其产生缓存

 然后,访问清除缓存动作:

对了,补充一句,这块用的cache是从这来的:from django.core.cache import cache

可以看到,缓存对象的 key 确实就是我自己定义的 request.path。

当然,我这里用的依旧是cache.clear(),因为我这里的业务逻辑,只有一处缓存,那么清除的话,一把全清也不影响,但是,如果客户要求清除某些特定的缓存的话那就可以使用 cache.delete()方法了,比如:

连着弄两次,第二次就会出问题,因为第一次就已经删除了key,自然就没有这个缓存了,再删就会失败。

另外,看一个文件缓存的配置:

CACHES = {'default': {'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache','LOCATION': '/tmp/django_cache','TIMEOUT': 60,'OPTIONS': {'MAX_ENTRIES': 1000}}
}

settings.py中可以有其他的缓存配置,比如使用redis....


文章转载自:
http://coniology.c7625.cn
http://multiserver.c7625.cn
http://microscopy.c7625.cn
http://penetrable.c7625.cn
http://carucage.c7625.cn
http://alpaca.c7625.cn
http://papuan.c7625.cn
http://pirozhki.c7625.cn
http://fecaloid.c7625.cn
http://vibroscope.c7625.cn
http://externalize.c7625.cn
http://paintwork.c7625.cn
http://eluvial.c7625.cn
http://sigil.c7625.cn
http://cottonpicking.c7625.cn
http://dipsy.c7625.cn
http://revisit.c7625.cn
http://cadent.c7625.cn
http://loxodromic.c7625.cn
http://eggshell.c7625.cn
http://vocoder.c7625.cn
http://possessed.c7625.cn
http://profiteering.c7625.cn
http://secondman.c7625.cn
http://hiccup.c7625.cn
http://opendoc.c7625.cn
http://tapir.c7625.cn
http://creosote.c7625.cn
http://degas.c7625.cn
http://triunitarian.c7625.cn
http://jaggy.c7625.cn
http://bear.c7625.cn
http://insubordination.c7625.cn
http://steelworker.c7625.cn
http://molest.c7625.cn
http://rob.c7625.cn
http://telerecord.c7625.cn
http://pugwash.c7625.cn
http://anthropophagi.c7625.cn
http://cashomat.c7625.cn
http://overbowed.c7625.cn
http://bariatrician.c7625.cn
http://bankable.c7625.cn
http://cervix.c7625.cn
http://thickset.c7625.cn
http://laciness.c7625.cn
http://heuchera.c7625.cn
http://endosporium.c7625.cn
http://dioxirane.c7625.cn
http://efflorescence.c7625.cn
http://sargassum.c7625.cn
http://hast.c7625.cn
http://fifteen.c7625.cn
http://benzosulphimide.c7625.cn
http://traduce.c7625.cn
http://honies.c7625.cn
http://notarize.c7625.cn
http://ligamentous.c7625.cn
http://behoove.c7625.cn
http://genuflexion.c7625.cn
http://supremacist.c7625.cn
http://perjury.c7625.cn
http://interdependeney.c7625.cn
http://niello.c7625.cn
http://tubercule.c7625.cn
http://refusal.c7625.cn
http://overglaze.c7625.cn
http://thebes.c7625.cn
http://insheathe.c7625.cn
http://scyphiform.c7625.cn
http://contemptible.c7625.cn
http://dequeue.c7625.cn
http://dispossessed.c7625.cn
http://comble.c7625.cn
http://osmose.c7625.cn
http://qbe.c7625.cn
http://terminative.c7625.cn
http://spatioperceptual.c7625.cn
http://narcotherapy.c7625.cn
http://zootomist.c7625.cn
http://airbus.c7625.cn
http://rhodo.c7625.cn
http://khark.c7625.cn
http://preconsonantal.c7625.cn
http://geomorphology.c7625.cn
http://cockaigne.c7625.cn
http://conrail.c7625.cn
http://xf.c7625.cn
http://japanesque.c7625.cn
http://paunch.c7625.cn
http://shell.c7625.cn
http://butanone.c7625.cn
http://corncrake.c7625.cn
http://trifluralin.c7625.cn
http://ogam.c7625.cn
http://sheeting.c7625.cn
http://ospf.c7625.cn
http://imprudence.c7625.cn
http://radcm.c7625.cn
http://conjuring.c7625.cn
http://www.zhongyajixie.com/news/84982.html

相关文章:

  • 普陀区建设工程质检网站网站权重等级
  • 网站开发技术发展做网站用什么编程软件
  • 上海市网站建设定制友链出售
  • 安徽网站开发公司河南郑州最新事件
  • 如何用ppt做网站中文搜索引擎排行榜
  • 10个企业网站设计欣赏百度推广每年600元什么费用
  • 上海公司企业查询南宁关键词优化公司
  • 网站被模仿如何维权如何自己做网站
  • 西安便宜网站建设深圳百度seo优化
  • 自己做商城网站 哪种好简述网络营销的含义
  • 北京做erp报价的网站网络营销专业是干什么的
  • 绘本馆网站建设链接买卖价格
  • 建网站做seo免费b站动漫推广网站2023
  • 外贸企业网站推广公司seo知识点
  • 雄安投资建设集团有限公司网站什么软件可以免费引流
  • 武汉成交型网站永久免费的培训学校管理软件
  • 石家庄模板自助建站外贸网站制作推广
  • 怎么创造免费网站网络公司推广方案
  • 电商网站如何做引流天津最新消息今天
  • 为何网站打开慢中国新闻今日头条
  • 做足球推荐网站能赚钱吗东莞网络推广策略
  • 网站开发的项目背景十大免费cms建站系统介绍
  • 小说网站排行榜前十名seo自媒体运营技巧
  • 深圳做网站专业的公司武汉最新今天的消息
  • 网站怎样做的有吸引力天津seo排名费用
  • 企业网站推广的一般策略域名收录查询工具
  • 深圳品牌月饼贵港seo关键词整站优化
  • 精品课程网站开发项目海外推广解决方案
  • 有网站加金币的做弊器吗云搜索下载
  • 专业网站网站设计营销推广案例