求教cache-control头的统制(影响了自己写的缓存功能了)
求教cache-control头的控制(影响了自己写的缓存功能了)
自己做了一个php控制的缓存,依靠etag和文件缓存来处理
如果浏览器发送了etag,则进行对比,etag一致,直接发送304,etag不一致,如果有文件缓存,则直接读取文件缓存,并发送当前服务器缓存的etag
(文件缓存和etag的更新在其他地方处理)
现在突然发现有响应没有返回304,一查,发现这个地址的服务器http响应头返回了cache-control:no-cache
我清空服务器的缓存后看,第一次响应的时候服务器就自动发送了一个no-cache头,(我的etag也发送了出去的),结果就是无论服务器端有没有缓存,浏览器都不会把etag添加到自己的请求头里面去,服务器端处理的时候没有收到etag,就当做是第一次请求,然后又重新读取文件缓存,又重新发送etag……(响应200)
大致是这么回事,但是这样就失去了我想用304来直接缓存的效果了。
看了一下区别,正常的数据,大概10KB,运行一直正常(没有缓存初次请求130ms,有缓存初次请求90ms,之后16ms或以下)
而没有发送304的这个(一直发送no-cache)的这个,数据只有304B,(但是就算不加缓存模块,因为服务器计算的原因,也要花90ms左右),
怀疑是不是因为数据返回不一致的原因而导致的,将这个304B的数据扩增到12KB,还是发送no-cache头,增加到20kb,也是一样的。
然后懵了……不知道怎么回事了。
(天地良心,代码全部是我写的,除了一个header(etag)外绝对没有发送其他的etag了)
------解决思路----------------------
原因是什么?
为什么会一直发送no-cache呢?估计是服务器设置了吧。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











실제로는 이렇습니다. 당시 리더가 perf 하드웨어 성능 모니터링 작업을 지시했습니다. perf를 사용하는 동안 perf list 명령을 입력했는데 다음 정보가 표시되었습니다. 내 작업은 이러한 캐시 이벤트를 활성화하는 것입니다. 하지만 요점은 이러한 누락과 로드가 무엇을 의미하는지 전혀 모른다는 것입니다.

캐시를 사용하면 CPU의 대기 시간이 단축되므로 컴퓨터 속도가 향상될 수 있습니다. 캐시는 CPU와 메인 메모리 DRAM 사이에 위치한 작지만 고속의 메모리입니다. 캐시의 기능은 CPU 데이터 입출력 속도를 높이는 것입니다. 캐시는 용량은 작지만 속도가 빠르며, 메모리 속도는 낮지만 용량이 큽니다. 시스템 성능은 향상됩니다. 크게 개선되었습니다.

캐시(Cache)는 캐시 메모리(Cache Memory)라고 하며 중앙처리장치와 메인 메모리 사이에 있는 고속 소용량 메모리로 일반적으로 고속 SRAM으로 구성된다. CPU와 메모리 사이의 속도 차이가 시스템 성능에 미치는 영향을 줄이거 나 제거합니다. 캐시 용량은 작지만 빠르며, 메모리 속도는 낮지만 용량이 큽니다. 스케줄링 알고리즘을 최적화하면 시스템 성능이 크게 향상됩니다.

서문 캐싱은 자주 액세스하는 데이터를 메모리에 저장하고 데이터베이스와 같은 기본 데이터 소스에 대한 부담을 줄여 시스템 성능과 안정성을 효과적으로 향상시킬 수 있습니다. 다들 프로젝트에 어느 정도 사용해 보셨을 거라 생각하는데, 저희 프로젝트도 예외는 아닙니다. 그런데 최근 회사의 코드를 검토해보니, 대략적인 내용은 다음과 같습니다: publicUsergetById(Stringid). {Useruser=cache.getUser();if(user!=null){returnuser;}//데이터베이스에서 사용자 가져오기=loadFromDB(id);cahce.put(id,user);returnu

다음은 nginx 역방향 프록시 캐싱에 대한 튜토리얼입니다. nginx 설치: sudoaptupdatesudoaptinstallnginx 역방향 프록시 구성: nginx 구성 파일 열기: sudonano/etc/nginx/nginx.conf 캐싱을 활성화하려면 http 블록에 다음 구성을 추가합니다. http{...proxy_cache_path /var/cache/nginxlevels=1:2keys_zone=my_cache:10mmax_size=10ginactive=60muse_temp_path=off;proxy_cache

nginx 캐싱 캐시를 위한 5가지 옵션 1. 전통적인 캐시 중 하나(404) 이 방법은 nginx의 404 오류를 백엔드로 보낸 다음, Proxy_store를 사용하여 백엔드에서 반환된 페이지를 저장하는 것입니다. 구성: 위치/{root/home/html/;#홈 디렉토리 만료1d;#웹페이지 만료 시간 error_page404=200/fetch$request_uri;#404 /fetch 디렉토리로 이동} Location/fetch/{#404 이동 hereternal ;#이 디렉터리는 외부에서 직접 액세스할 수 없음을 나타냅니다.

캐시의 특징: CPU와 메인 메모리 사이에 설정되어 있는 1~2레벨의 고속, 소용량 메모리로, 컴퓨터의 전원이 꺼지면 정보가 자연스럽게 사라집니다. ROM의 특성: 메모리에서 데이터를 읽을 수만 있고 정보를 쓸 수는 없습니다. 컴퓨터 전원이 꺼진 후에도 데이터는 계속 존재합니다. 램의 특징: 메모리에서 데이터를 읽고 정보를 메모리에 쓸 수 있습니다. 프로그램을 실행하는 데 필요한 명령, 프로그램 및 데이터를 저장하는 데 사용됩니다. 컴퓨터 전원이 꺼지면 정보가 자연스럽게 손실됩니다.

1. 하드코딩 캐시란 무엇인지 알아보겠습니다. SpringCache를 배우기 전에는 캐싱을 하드코딩해서 사용하는 경우가 많았습니다. 사용자 정보의 쿼리 효율성을 높이기 위해 샘플 코드는 다음과 같습니다. @AutowireprivateUserMapperuserMapper;//사용자 쿼리 publicUsergetUserById(LonguserId){//Define 캐시 keyStringcacheKey= "userId_
