MyCache

Nginx系列(三)——内容缓存

◇◆丶佛笑我妖孽 提交于 2020-08-11 23:51:57
Caching Zones 定义缓存空间 proxy_cache_path /var/nginx/cache #缓存空间路径 keys_zone=CACHE:60m levels=1:2 inactive=3h #缓存时长,3小时内没有被再次请求就会被释放 max_size=20g; proxy_cache CACHE; Caching Hash Keys 使用proxy_cache_key模块 proxy_cache_key "$host$request_uri $cookie_user"; Cache Bypass 避开缓存。适用于进行troubleshooting和debug的时候 proxy_cache_bypass $http_cache_bypass; 另外还可以通过设置 proxy_cache off; 进行关闭缓存 Cache Performance 在用户端控制缓存 location ~* \.(css|js)$ { expires 1y; #1年后过期 add_header Cache-Control "public"; #配置http响应头缓存控制 } Cache Slicing 缓存切片。适用于不会变动的大文件 proxy_cache_path /tmp/mycache keys_zone=mycache:10m; server { ... proxy

Service Worker

折月煮酒 提交于 2020-08-08 14:05:09
基本特性 不能直接访问/操作 DOM(只能使用特定的 API:Promise、Fetch API、Cache API) 需要时直接唤醒,不需要时自动休眠 离线缓存内容开发者可控 一旦被安装则永远存活,除非手动卸载 必须在 HTTPS 环境下工作(本地环境 localhost 除外) 广泛使用了 Promise 使用 生命周期相关知识 install 阶段缓存文件列表 activate 阶段清理缓存 fetch 拦截请求 注册 main.html 下 // 同域下允许注册多个不同 scope 的 service worker if ('serviceWorker' in navigator) { // 缩短白屏时间 window.addEventListener('load', function () { // scope:指定访问的域 navigator.serviceWorker.register('/static/sw-demo.js', { scope: '/static' }) .then(registration => { // 注册成功 console.log(registration.scope); }) .catch(error => { // 注册失败 }) }) } 安装 sw-demo.js 下 const myCache = { NAME: 'my

ASP.NET Core 中的缓存 / MemoryCache

落爺英雄遲暮 提交于 2020-07-29 10:01:44
十年河东,十年河西,莫欺少年穷 学无止境,精益求精 ASP.NET Core 缓存Caching,.NET Core 中为我们提供了Caching 的组件。 目前Caching 组件提供了三种存储方式。 Memory Redis SqlServer 学习在ASP.NET Core 中使用Caching。 Memory Caching 1.新建一个 ASP.NET Core 项目,选择 Web 应用程序 ,将身份验证 改为 不进行身份验证。 2.添加引用 Install-Package Microsoft.Extensions.Caching.Memory 3.使用 在Startup.cs 中 ConfigureServices public void ConfigureServices(IServiceCollection services) { services.AddMemoryCache(); // Add framework services. services.AddMvc(); } 然后在控制器中依赖注入、 private IMemoryCache _cache; public LongLongController(IMemoryCache memoryCache) { _cache = memoryCache; } 1、方法:TryGetValue 及 方法缓存的存取

Azure Redis 缓存部署注意

Deadly 提交于 2020-07-28 20:36:19
最近在Azure 上面部署使用 Azure Redis, 从划分好子网,到部署测试完成,也花了小半天时间。 Azure Redis 不同于阿里云,腾讯云的云redis,还是要看下文档,先熟悉下部署注意的地方。 根据文档,整理下了要注意的点: https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-how-to-premium-vnet#how-can-i-verify-that-my-cache-is-working-in-a-vnet 将 Azure Redis 缓存部署到资源管理器 VNet 时, 缓存必须位于专用子网中,该子网中只能包含 Azure Redis 缓存实例 ,而不能包含其他资源。 如果尝试将 Azure Redis 缓存部署到包含其他资源的资源管理器 VNet 子网,部署会失败。 在 VNet 中托管 Azure Redis 缓存时,要使用AZure的指定端口。 在 VNet 中使用 Azure Redis 缓存时,阻止指定端口中的一个或多个是最常见的错误配置问题。 出站端口有七个要求: 与 Internet 的所有出站连接都可以通过客户端的本地审核设备建立。 其中三个端口将流量路由到为 Azure 存储和 Azure DNS 提供服务的 Azure 终结点。 剩余端口范围,这些端口用于内部 Redis

Nginx学习-反向代理-缓存Cache

泪湿孤枕 提交于 2020-03-03 14:54:23
Nginx 学习 反向代理 缓存 基础缓存 使用以下两个命令可启用基础缓存 proxy_cache_path 设置缓存路径 proxy_cache 缓存启用 proxy_cache_path/path/to/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off; server { ... location / { proxy_cache my_cache; proxy_pass http://my_upstream; } } proxy_cache_path 命令中的参数及对应配置说明如下: 用于缓存的本地磁盘目录是 /path/to/cache/ levels 在 /path/to/cache/ 设置了一个两级层次结构的目录。将大量的文件放置在单个目录中会导致文件访问缓慢,所以针对大多数部署,我们推荐使用两级目录层次结构。如果 levels 参数没有配置,则 Nginx 会将所有的文件放到同一个目录中。 keys_zone 设置一个共享内存区,该内存区用于存储缓存键和元数据,有些类似计时器的用途。将键的拷贝放入内存可以使 Nginx 在不检索磁盘的情况下快速决定一个请求是 HIT 还是 MISS ,这样大大提高了检索速度。一个 1MB 的内存空间可以存储大约 8000