什么是前端缓存?前端缓存主要是分为HTTP缓存和浏览器缓存。其中HTTP缓存是在HTTP请求传输时用到的缓存,主要在服务器代码上设置;而浏览器缓存则主要由前端开发在前端js上进行设置。 缓存可以说是性能优化中简单高效的一种优化方式了。一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件可以重复利用,还可以减少带宽,降低网络负荷。对于一个数据请求来说,可以分为发起网络请求、后端处
引"一切单机缓存都是魔鬼,与其被消灭,不如与其共舞"来由之前接到我们uAuth的一个bug,具体原因为,当一个用户改密后,原token理应失效,但是线上时常会有原token访问的正常的情况。 可是在测试环境上,确无论如何也复现不出来。后来仔细分析了源码,是由于token的存储用了openresty缓存,当token失效后,只在线上的n台服务器中的一台做了失效处理,而其他的n-1台的缓存仍然有效。
转载 2024-06-27 11:07:39
63阅读
shared dict:这个cache是nginx所有worker之间共享的,内部使用的LRU算法(最近最少使用)来判断缓存是否在内存占满时被清除。[code="lua"]function get_from_cache(key) local cache_ngx = ngx.shared.my_cache local value = cache_ngx:get(key...
原创 2023-04-11 00:28:15
1196阅读
 一、逻辑架构 1、基于OpenResty开发智能代理;   利用其动态可编程特性,动态化配置nginx服务路由;2、需要向OpenResty添加weibo开源的upsync服务发现模块;3、基于consul建设微服务注册中心集群;4、服务网格中的每个node包括至少一个智能代理(openresty+consul client)、若干个微服务。 各
1. OpenResty 命令详解openresty -h | -?含义:查看OpenResty的帮助,可以得知当前的版本号以及全部指令的使用方式。openresty -v含义:查看当前OpenResty的版本openresty -V含义:查看当前OpenResty的编译信息openresty -t | -T含义:检查当前nginx.conf文件的语法错误。运行这个命令只是去检查语法并不会去启动O
转载 2024-02-28 09:59:37
221阅读
curl多用于互联网网页之间的抓取,fopen多用于读取文件,而file_get_contents多用于获取静态页面的内容。1. fopen /file_get_contents 每次请求都会重新做DNS查询,并不对DNS信息进行缓存。但是CURL会自动对DNS信息进行缓存。对同一域名下的网页或者图片的请求只需要一次DNS查询。这大大减少了DNS查询的次数。所以CURL的性能比fopen
转载 5月前
13阅读
Openresty 是基于 Nginx 的一个成熟的网络平台,集成 Nginx 和加强的 LuaJit,许多实用的 Lua 库和一些高品质高性能的第三方 Nginx 模块。本文将使用 Openresty 来搭建一个简单的灰度发布系统。环境为 Cenos 7。1 安装 Openresty 下载源码wget https://openresty.org/download/openrest
      关于 http,作为一个后端工程师,很有必要看下这个的,边补习http边学lua也顺便弄下openresty。      刚开始肯定参照这个官方教程弄,把其中遇到的问题记录下来,把疑问也顺便记下来,一遍加深印象, https://openresty.org/cn/getting-star
在查询商品时,优先查询OpenResty的本地缓存,需求:1.修改item.lua中的read_data函数,优先查询本地缓存,未命中时再查询Redis、Tomcat2.查询Redis或Tomcat成功后,将数据写入本地缓存,并设置有效期3.商品基本信息,有效期30分钟4.库存信息,有效期1分钟 1 ...
转载 2021-10-28 09:29:00
822阅读
2评论
# 实现OpenResty Redis图片缓存教程 ## 简介 在这篇文章中,我将向你介绍如何使用OpenResty和Redis来实现图片缓存OpenResty是一个基于Nginx的Web服务器,通过Lua语言扩展Nginx的功能。Redis是一个高性能的key-value存储数据库。结合两者,我们可以实现高效的图片缓存功能。 ### 流程概述 在下面的表格中,我们将展示实现OpenRest
原创 2024-05-24 06:09:14
97阅读
今天我们来聊一聊redis缓存穿透和击穿,首先上一张图,来演示redis缓存在实际业务场景的使用用户端需要查询一个id=1的数据,发起查询请求到应用服务器,应用服务先到redis缓存中查询,如果redis缓存中没有,就会到数据库中查询,数据库中查询到了会保存到redis缓存中,再返回给应用服务器,最终返回到用户端。      这里查询id=1的数据,就会有以下几种情况
09 | 为什么 lua-resty-core 性能更高一些?你好,我是温铭。前面两节课我们说了,Lua 是一种嵌入式开发语言,核心保持了短小精悍,你可以在 Redis、NGINX 中嵌入 Lua,来帮助你更灵活地完成业务逻辑。同时,Lua 也可以调用已有的 C 函数和数据结构,避免重复造轮子。在 Lua 中,你可以用 Lua C API 来调用 C 函数,而在 LuaJIT 中还可以使用 FFI
24 | 实战:处理四层流量,实现Memcached Server你好,我是温铭。在前面几节课中,我们介绍了不少处理请求的 Lua API ,不过它们都是和七层相关的。除此之外,OpenResty 其实还提供了 stream-lua-nginx-module 模块来处理四层的流量。它提供的指令和 API ,与 lua-nginx-module 基本一致。今天,我就带你一起用 OpenResty
open() 方法用于打开一个新的浏览器窗口或查找一个已命名的窗口。语法:window.open(URL,name,features,replace)  参数描述URL一个可选的字符串,声明了要在新窗口中显示的文档的 URL。如果省略了这个参数,或者它的值是空字符串,那么新窗口就不会显示任何文档。name一个可选的字符串,该字符串是一个由逗号分隔的特征列表,其中包括数字、字母和
转载 4月前
21阅读
1.安装首先你的Linux虚拟机必须联网,OpenResty下载地址。 1)安装开发库首先要安装OpenResty的依赖开发库,执行命令: yum install -y pcre-devel openssl-devel gcc --skip-broken 2)安装OpenResty仓库你可以在你的 ...
转载 2021-10-20 14:48:00
181阅读
2评论
1、下载windows版本的openresty 2、解压解压放在D:\dev\openresty-1.19.9.1目录下 nginx的默认配置文件注释太多,影响后续我们的编辑,这里将nginx.conf中的注释部分删除,保留有效部分。修改`D:/dev/openresty-1.19.9.1/conf ...
​LRU 缓存完全驻留在 Lua VM 中,并受 Lua GC 的约束。好处是您可以缓存任意复杂的 Lua 值(例如深度嵌套的 Lua 表),而无需序列
原创 2023-12-29 09:32:13
84阅读
Nginx是一个Master进程多个Worker进程的工作方式,因此我们可能需要在多个Worker进程中共享数据。使用来实现全局内存共享。
原创 2024-04-09 16:36:16
371阅读
OpenResty Codis集群缓存系统部署环境OpenResty1.12.5Codis3.2集群(客户端不支持Redis集群协议故选择了Codis集群)Nginx1.12.1反向代理Iis7源站依赖的第三方模块echo-nginx-module https://github.com/openresty/echo-nginx-module  set-misc-nginx-module&
原创 精选 2017-09-27 11:09:12
1467阅读
前言HTTP 的缓存机制,可以说这是前端工程师需要掌握的重要知识点之一。本文将针对 HTTP 缓存整体的流程做一个详细的讲解,争取做到大家读完整篇文章后,对缓存有一个整体的了解。HTTP 缓存分为 2 种,一种是强缓存,另一种是协商缓存。主要作用是可以加快资源获取速度,提升用户体验,减少网络传输,缓解服务端的压力。这是缓存运作的一个整体流程图: Http缓存.jpg 强缓存不需要发送请
  • 1
  • 2
  • 3
  • 4
  • 5