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

怎样自创网站腾讯云存储 wordpress

怎样自创网站,腾讯云存储 wordpress,外贸求购信息平台,it软件外包公司【图解秒杀系列】秒杀技术点——静态化 什么是静态化、静态化的作用如何实现静态化FreeMarker、Thymleaf处理流程问题 OpenResty Lualua_shared_dict lua-resty-template处理流程具体操作 什么是静态化、静态化的作用 静态化就是指通过某种静态化技术#xff0c;将原本… 【图解秒杀系列】秒杀技术点——静态化 什么是静态化、静态化的作用如何实现静态化FreeMarker、Thymleaf处理流程问题 OpenResty Lualua_shared_dict lua-resty-template处理流程具体操作 什么是静态化、静态化的作用 静态化就是指通过某种静态化技术将原本需要动态渲染生成的HTML页面固定下来变成一个静态页面文件后续请求该页面都直接返回该静态页面。 首先要有模板和数据然后根据给定的模板和数据通过模板引擎就能生成对应的静态HTML文件。 生成的静态HTML页面可以推到Nginx上缓存到Nginx本地。当用户请求访问对应的页面时Nginx直接返回缓存在本地的静态页面这样响应速度就大大提升。 在秒杀场景中商品详情页就可以进行静态化处理提升商品详情页的访问速度。 如何实现静态化 FreeMarker、Thymleaf 一种方式是通过FreeMarker、Thymleaf这种Java语言的模板引擎实现。 处理流程 FreeMarker、Thymleaf需要跑在一个Tomcat进程里面当接收到请求时通过Freemarker、Thymleaf等模板引擎技术根据指定的模板和数据生成静态HTML页面返回客户端。 另外我们可以监听MQ上的修改操作消息当监听到有修改操作发生时就在异步工程里面使用模板引擎生成静态HTML页面然后推到Nginx上缓存到Nginx本地。 问题 但是这种方案会有几个问题。 首先第一个问题是如果我们修改了模板那么使用该模板生成的静态HTML页面全部都要删除或刷新。 第二个问题是如果我们有多个Nginx则要同时推送给多个Nginx。 如果是多Nginx场景下碰上批量刷新那这个操作就很复杂了。 OpenResty Lua 为了解决上面的问题就有了一个更好的解决方案那就是OpenResty加Lua脚本。 OpenResty是基于Nginx进行二次开发的Web平台支持执行Lua脚本并且内部集成了许多Lua库和第三方模块。 lua_shared_dict lua-resty-template 在这个方案下我们用到OpenResty的两个重要的东西一个是“lua_shared_dict”指令、lua-resty-template模块。 lua_shared_dict用于声明一个共享内存区域可以将其作为缓存空间使用比如“lua_shared_dict my_cache 128m;”表示声明一个128m大小名为“my_cache”的内存共享区域。 而lua-resty-template模块的作用就是一个模板引擎它的作用与FreeMarker或者Thymleaf类似只是它是跑在OpenResty内部而不是后端服务。 处理流程 那么此时处理流程如下 客户端的请求被OpenResty接收OpenResty在location块中通过content_by_lua_file命令指定执行的lua脚本lua脚本被执行首先判断lua_shared_dict命令声明的缓存空间中是否缓存了对应的数据如果缓存命中则直接通过lua-resty-template模块进行模板渲染生成静态html文件并返回如果缓存不命中则请求后端服务获取对应数据再缓存到lua_shared_dict命令声明的缓存空间中然后再进行模板渲染生成静态html文件并返回 这么做的好处就是: 即使模板变了我们只需要更新OpenResty上的模板即可由于最终的html文件是由OpenResty动态渲染生成的所以只要更新了模板生成的html就会更新。由于是OpenResty自己通过模板渲染生成的html而不是后端服务生成的因此不再需要推送ng的这一步操作。 具体操作 在nginx.conf文http模块中加入 lua_package_path ../lualib/?.lua;;; lua_package_cpath ../lualib/?.so;;; include lua.conf;lua.conf lua_shared_dict my_cache 128m; server {listen 222;set $template_location /templates;set $template_root D:/ProgramData/nginx/;location /product {default_type text/html;charsetUTF‐8;lua_code_cache on;content_by_lua_file D:/ProgramData/nginx/product.lua;} }product.lua local uri_args ngx.req.get_uri_args()local productId uri_args[productId]local cache_ngx ngx.shared.my_cachelocal productCacheKey product_info_..productIdlocal productCache cache_ngx:get(productCacheKey)if productCache or productCache nil thenlocal http require(resty.http)local httpc http.new()local resp, err httpc:request_uri(http://127.0.0.1:8866,{method GET,path /pms/productInfo/..productId})productCache resp.bodylocal expireTime math.random(600,1200)cache_ngx:set(productCacheKey, productCache, expireTime)endlocal cjson require(cjson)local productCacheJSON cjson.decode(productCache)ngx.say(productCache);local context {id productCacheJSON.data.id,name productCacheJSON.data.name,price productCacheJSON.data.price,pic productCacheJSON.data.pic,detailHtml productCacheJSON.data.detailHtml}local template require(resty.template)template.render(product.html, context) html模板 htmlheadmeta http‐equivContent‐Type contenttext/html; charsetutf‐8 //headbodyh1商品id: {* id *}br/商品名称: {* name *}br/商品价格: {* price *}br/商品库存: img src{* pic *}/br/商品描述: {* detailHtml *}br//h1/body /html
http://www.hkea.cn/news/14308105/

相关文章:

  • 网上书城 网站建设策划书二级分销被国家叫停
  • 自助建微网站安贞街道网站建设
  • 长沙外贸网站开发wordpress行情插件
  • 制作网站需要多少钱动易网站内容管理系统
  • 通辽正规网站建设yeti2.0 wordpress
  • 上海 网站备案拍照公司网站怎么关闭
  • 北京网站设计公司新鸿儒wordpress ajax加载
  • 金融企业网站源码网站(网店)建设方案范文
  • 微网站模板怎么用wordpress蜘蛛记录插件
  • 网站制作公司兴田德润简介网络营销知识点
  • 深圳的网站建设公司的外文名是一站式海外推广平台
  • 做的网站在ie会乱码联通入股腾讯
  • 网上做任务网站有哪些网站申请注册 免备案
  • 制作网站的费用迅速上排名网站优化
  • 公司网站建设款计什么科目怎么给网站做快照
  • 手机网站要求注册网络平台怎么注册
  • 旅游网站技术流程图有没有专门做装修的网站
  • 网站开发的经济可行性分析网络优化app
  • 做海报的网站有哪些内容北京专业网站开发公司
  • 动态效果的网站建设杭州cms建站模板下载
  • 个人做网站被骗广州建站费用
  • 通州网站建设公司门户网站自查整改情况报告
  • 怎么做类似淘宝一样的网站太原百度关键词优化
  • 苏州企业网站建设开发与制作做好网站建设的重要性
  • 天津企业网站开发小米路由2 做网站
  • 网站建设模板源代码电商网站设计思想
  • 阳泉集团网站建设网站的制作步骤包括
  • 濮阳市做网站公司网站建设需要什么人
  • dede网站怎么设置首页ip地址免费
  • 成都网站制作公司电话微信短网址生成