标签: cache-invalidation

Docker 缓存失效

我的自定义 Dockerfile 遇到了一些奇怪的问题,在 alpine 容器中编译了一个 .Net 核心应用程序。

我尝试了许多不同的配置都无济于事 - 当我执行最后一条FROM指令时,缓存总是无效的(如果我注释掉它以及它下面的所有内容,缓存工作正常)。这是文件:

FROM microsoft/dotnet:2.1-sdk-alpine3.7 AS build
ARG ASPNETCORE_ENVIRONMENT=development
ARG ASPNET_CONFIGURATION=Debug
ARG PROJECT_DIR=src/API/
ARG PROJECT_NAME=MyAPI
ARG SOLUTION_NAME=MySolution

RUN export

WORKDIR /source

COPY ./*.sln ./nuget.config ./

# Copy source project files
COPY src/*/*.csproj ./
RUN for file in $(ls *.csproj); do mkdir -p src/${file%.*}/ && mv $file src/${file%.*}/; done

# # Copy test project files
COPY test/*/*.csproj ./
RUN for file in $(ls *.csproj); do mkdir -p test/${file%.*}/ && mv $file test/${file%.*}/; …
Run Code Online (Sandbox Code Playgroud)

cache-invalidation docker .net-core docker-compose

6
推荐指数
1
解决办法
501
查看次数

使用 CloudFront 的无效路径在 C# 中创建无效

我试图使 C#/.NET 中的 CloudFront 对象无效并得到以下异常:

您的请求包含一个或多个无效失效路径。

我的功能:

public bool InvalidateFiles(string[] arrayofpaths)
{
    for (int i = 0; i < arrayofpaths.Length; i++)
    {
        arrayofpaths[i] = Uri.EscapeUriString(arrayofpaths[i]);
    }

    try
    {
        Amazon.CloudFront.AmazonCloudFrontClient oClient = new Amazon.CloudFront.AmazonCloudFrontClient(MY_AWS_ACCESS_KEY_ID, MY_AWS_SECRET_KEY, Amazon.RegionEndpoint.USEast1);
        CreateInvalidationRequest oRequest = new CreateInvalidationRequest();
        oRequest.DistributionId = ConfigurationManager.AppSettings["CloudFrontDistributionId"];
        oRequest.InvalidationBatch = new InvalidationBatch
        {
            CallerReference = DateTime.Now.Ticks.ToString(),
            Paths = new Paths
            {
                Items = arrayofpaths.ToList<string>(),
                Quantity = arrayofpaths.Length
            }
        };

        CreateInvalidationResponse oResponse = oClient.CreateInvalidation(oRequest);
        oClient.Dispose();
    }
    catch
    {
        return false;
    }
    return true;
}
Run Code Online (Sandbox Code Playgroud)

传递给函数的数组包含一个 URL,如下所示: …

.net c# amazon-web-services cache-invalidation amazon-cloudfront

5
推荐指数
1
解决办法
3432
查看次数

使用VaryByCustom使缓存无效

我想使用VaryByCustom属性使缓存无效.以下代码用于缓存设置.

public override string GetVaryByCustomString(HttpContext context, string arg)
{
    if (!string.IsNullOrWhiteSpace(arg))
    {
        if (context.User.Identity.Name != null)
        {
            return context.User.Identity.Name;
        }
    }
    return base.GetVaryByCustomString(context, arg);
}
Run Code Online (Sandbox Code Playgroud)

c# caching cache-invalidation asp.net-mvc-4

5
推荐指数
1
解决办法
141
查看次数

使用Webpack的缓存失效

我将hashID 附加到由生成的包中webpack。每当我得到一个新的版本时,我都会看到文件名被新的哈希值更改,并且index.html文件引用了这些文件。但是,部署我的应用程序后,使用Chrome的某些用户只有从应用程序注销后才能看到新文件。有人遇到过这个问题吗,知道解决任何问题的解决方案吗?

caching google-chrome nginx cache-invalidation webpack

5
推荐指数
0
解决办法
216
查看次数

如何检测/避免更新缓存的基于 React 的应用程序?或者如何在缓存失效发生之前检测到它?

我正在 React 中开发一个应用程序,它在客户端进行加密并将加密的内容发送回服务器以进行安全存储(例如考虑在线钱包)。这很有效,因为数据是安全的,以防有人恶意访问数据。但是,如果黑客访问服务器并更改实际的 React 代码以将数据以原始格式而不是加密格式发回,这将破坏整个系统。

那么我怎样才能强制 React 应用程序只缓存一次,然后在未来的任何时候,在它拉出应用程序的新版本之前,它会警告用户“有新的更新可用,他们需要检查 Twitter和/或 GitHub 以确保有效性”?

基本上我需要在“缓存失效”尝试发生之前检测它们并警告用户。我怎么能这样做?

javascript security caching cache-invalidation reactjs

5
推荐指数
1
解决办法
154
查看次数

如何在Shiro中清除主题的缓存

Shiro提供了缓存功能,但就我而言,我正在为用户使用动态角色和权限.我需要使特定用户的缓存过期(如果有),以便权限的更改立即影响用户.

Realm中有一个方法,但是如何获取关联领域的实例来调用方法来清除缓存.

permissions shiro cache-invalidation

3
推荐指数
1
解决办法
2836
查看次数

AWS Cloudfront 缓存失效路径使用情况

我使用s3 存储桶作为cloudfront中的源来缓存和托管我的Reactjs网站。

每次在 s3 上部署后,我都想使我的 cloudfront 发行版的缓存失效,以便用户可以获得部署的最新版本。

此外,在阅读cloudfront invalidation 的定价时,我想确保我不超过每月1000 个路径的免费套餐。另外,我们一个月内的生产部署不会超过 10 或 20 个。每个部署的目录中都有大约 500 个文件:

在此输入图像描述

所以我的问题是:如果我用作"/*"失效查询,它会被视为1 路径吗?或者是500 条路径

amazon-s3 cache-invalidation amazon-cloudfront reactjs

3
推荐指数
1
解决办法
1778
查看次数