小编Mav*_*ick的帖子

谷歌浏览器不尊重缓存控制中的最大年龄

我有一个 React 应用程序,其中我正在向后端 API 执行提取请求。\n我正在尝试在 UI 端实现大量请求的缓存。

\n\n

我能够在 Mozilla Firefox 中成功完成此操作,并且运行得非常好。\n但是 chrome 给我带来了困难。\n这是我试图实现的代码片段 -

\n\n
        fetch(URL, {\n            signal: this.abortController.signal,\n            cache: "default",\n            headers: {\n                "Cache-Control": "max-age=120"\n            }\n        })\n            .then(response => return response.json())\n            .catch(error => {\n                if (error.name === "AbortError") {\n                    return;\n                }\n                this.setError(error);\n            });\n
Run Code Online (Sandbox Code Playgroud)\n\n

我正在跟踪检查缓存的过程-

\n\n
    \n
  1. 首先打开正在执行获取请求的选项卡。
  2. \n
  3. 将选项卡更改为不同的选项卡。
  4. \n
  5. 在超时期限(120 秒)内返回步骤 1 中提到的选项卡
  6. \n
\n\n

在检查 Firefox 的网络选项卡时,我可以看到“已传输”为“已缓存”,并且页面加载和一切都按预期工作有显着改进。

\n\n

然而,在 Chrome 中,我仍然可以看到“大小”为“3.9 KB”,时间为“毫秒”。

\n\n

我尝试了 - Chrome 是否忽略 Cache-Control: max-age?中提到的步骤 没有任何成功。

\n\n

我还发现 - https://www.mnot.net/blog/2017/03/16/browser-caching …

javascript google-chrome fetch browser-cache reactjs

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

如何在Perl中保留哈希的顺序?

我有一个.sql文件,我正在从中读取输入。假设文件包含以下输入。

Message Fruits Fruit="Apple",Color="Red",Taste="Sweet";

Message Flowers Flower="Rose",Color="Red";
Run Code Online (Sandbox Code Playgroud)

现在,我已经编写了一个perl脚本来从该文件生成哈希。

use strict;
use Data::Dumper;

if(open(MYFILE,"file.sql")){
    my @stack;
    my %hash;
    push @stack,\%hash;
    my @file = <MYFILE>;
    foreach my $row(@file){
        if($row =~ /Message /){
            my %my_hash;
            my @words = split(" ",$row);
            my @sep_words = split(",",$words[2]);

            foreach my $x(@sep_words){
                my($key,$value) = split("=",$x);
                $my_hash{$key} = $value;
            }
            push @stack,$stack[$#stack]->{$words[1]} = {%my_hash};
            pop @stack;
        }
    }
    print Dumper(\%hash);
}
Run Code Online (Sandbox Code Playgroud)

我得到以下输出。

$VAR1 = {
          'Flowers' => {
                         'Flower' => '"Rose"',
                         'Color' => '"Red";'
                       },
          'Fruits' => {
                        'Taste' …
Run Code Online (Sandbox Code Playgroud)

perl hash

4
推荐指数
1
解决办法
4443
查看次数

标签 统计

browser-cache ×1

fetch ×1

google-chrome ×1

hash ×1

javascript ×1

perl ×1

reactjs ×1