> 백엔드 개발 > PHP 튜토리얼 > Yii CFileCache가 값을 얻을 수 없는 이유 분석

Yii CFileCache가 값을 얻을 수 없는 이유 분석

不言
풀어 주다: 2023-04-01 17:30:01
원래의
1412명이 탐색했습니다.

이 글에서는 Yii CFileCache가 값을 얻을 수 없는 이유에 대한 분석을 주로 소개합니다. 매우 좋고 참고할만한 가치가 있습니다. 필요하신 분들은 참고하시면 됩니다

구성 파일에서 구성했습니다

‘cache'=>array(
‘class'=>'system.caching.CFileCache',
),
로그인 후 복사

컨트롤러에서

return array(
array(
‘COutputCache+pro',
‘duration'=>86400,
‘varyByParam'=>array(‘id'),
),
로그인 후 복사

를 설정한 다음 데이터베이스를 엽니다. 'schemaCachingDuration'=>3600, ‘schemaCachingDuration'=>3600,

初次使用是有缓存文件的 而且发现 确实加快不少访问速度

但时间一长 在某个时间段 也许是10分钟后 我就发现 runtime/cache 下面的缓存文件突然就没了

不清楚是什么原因 跟踪了好长时间才发现这个问题

另外还发现缓存目录里面还有 文件夹 什么0a d6 63 3a命名的 不知道这是起什么作用的

在线等缓存文件突然没了的原因?

缓存文件在D盘 数据空间是很大的

一、yii的缓冲需要在main.php里面配置,

/****************/
‘cache' => array (
‘class' => ‘system.caching.CFileCache'
)
로그인 후 복사

配置完成以后只需在控制器里面….

Yii::app ()->cache->set($key,$value,$expire);
Yii::app ()->cache->get($key);
로그인 후 복사

二、配置多种缓存

main.php 的配置

‘cache' => array (
‘class' => ‘system.caching.CFileCache'
),
‘dbcache' => array (
‘class' => ‘system.caching.CDbCache'
)
로그인 후 복사

控制器只需用相应的cacheid调用就好

如:Yii::app ()->dbcache

처음 사용했을 때 캐시된 파일이 있어서 발견했습니다. 접속 속도가 많이 빨라졌다고

그런데 시간이 좀 걸렸어요. 일정 시간(약 10분)이 지나면 런타임/캐시 하위 캐시 파일이 갑자기 사라진 걸 발견했어요

왜 추적했는지 모르겠어요. 이 문제를 발견하기까지 오랜 시간이 걸렸습니다

그리고 캐시 디렉토리에 다른 파일도 있다는 것을 발견했습니다. 0a d6 63 3a라는 폴더가 있는 이유는 무엇입니까? 온라인을 기다리는 동안 캐시 파일이 갑자기 사라진다구요? 버퍼는 main.php에서 구성해야 합니다. 구성이 완료된 후 컨트롤러에서만 구성하면 됩니다.

public function filters() {
return array (
array (
‘COutputCache',
‘duration' => 600,
‘ varyByParam' => array(‘id')
)
);
}
로그인 후 복사

컨트롤러만 있으면 됩니다. 해당 캐시 ID로 호출됩니다

예: Yii::app ()->dbcache

셋, 페이지 버퍼링은 전체를 캐시하는 것입니다. 페이지는 정적입니다

main.php 구성은 여전히 ​​동일합니다

Controller: COutputCache 클래스를 컨트롤러 클래스의 동작 필터로 사용할 수 있습니다.

…some HTML content…
<?php if($this—>beginCache($key))?>
…content to be cached…
<?php $this—>endCache(); ?>
…other HTML content…
로그인 후 복사
COutputCache는 데이터를 캐싱할 때 키 이름을 자동으로 생성하는 전략으로 사용됩니다. 사용할 수 있는 목록은 다음과 같습니다.

varyByRoute: 이 옵션을 true로 설정하면 특정 요청의 라우팅 부분이 별도 식별자의 일부로 사용되어 캐시 데이터를 생성합니다. 따라서 요청 컨트롤러와 acion의 조합을 사용하여 캐시된 콘텐츠를 구별할 수 있습니다.

varyBySession: 이 옵션을 true로 설정하면 고유한 세션 ID가 캐시의 콘텐츠를 구별하는 데 사용됩니다. 각 사용자의 세션은 다르지만 캐시를 제공하는 데 사용될 수 있습니다.

varyByParam: 앞서 언급했듯이 입력 GET의 매개변수는 캐시 콘텐츠를 구별하는 데 사용됩니다.

varyByExpression: 이 옵션에 대한 PHP 표현식을 설정하면 해당 표현식의 결과를 사용하여 캐시된 콘텐츠를 구별할 수 있습니다.

또한 COutputCache의 기본 캐시 ID는 캐시입니다.

4. 조각 캐시

조각 캐시는 페이지의 일부를 캐시하는 데 사용됩니다. 뷰 스크립트에서 조각 캐싱을 사용할 수 있습니다. CController::beginCache() 및 CController::endCache() 메서드를 사용하여 이를 수행합니다.
rrreee

위 내용은 모두의 학습에 도움이 되기를 바랍니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 주목해주세요!

관련 추천: 🎜🎜🎜부트스트랩을 사용한 yii의 페이지 매기기 스타일에 대해🎜🎜🎜🎜🎜PHP에서 ID 설정이 증가한 후 불연속적인 이유에 대한 분석 및 해결 방법에 대해🎜🎜🎜🎜🎜🎜🎜

위 내용은 Yii CFileCache가 값을 얻을 수 없는 이유 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
yii
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿