memcache는 데이터 캐싱 및 분산 웹사이트 세션 저장에 사용되는 분산 캐시 소프트웨어 세트입니다. key=>value 메소드를 사용하여 데이터를 저장하고 데이터 압축 저장 처리 및 데이터 만료 처리를 지원합니다.
값은 문자열만 지원합니다. 다른 형식이 필요한 경우 먼저 json으로 변환한 후 저장할 수 있습니다.
사용법:
<?php$m = new Memcache;$m->connect('localhost', 11211);$m->set('foo', 100); // 保存数据echo $m->get('foo'); // 读取数据?>
Memcache를 데이터 캐시로 사용합니다. 일반적으로 단계는
1. Memcache에 데이터가 있는지 확인하고, 데이터가 있으면 직접 반환하고, 그렇지 않으면 데이터 소스에서 데이터를 가져옵니다.
2. 데이터 소스에서 데이터를 얻은 후 Memcache에 캐시로 쓰고 다음 요청을 기다립니다.
Memcache에 데이터가 있는지 확인하려면 일반적으로 get 메서드를 통해 데이터를 가져오고, 해당 데이터가 거짓인지 여부를 기준으로 판단합니다.
<?php$m = new Memcache;$m->connect('localhost', 11211);$m->set('foo', 100);if($m->get('foo')){ echo 'foo 存在<br>'; }else{ echo 'foo 不存在<br>'; }$m->delete('foo');if($m->get('foo')){ echo 'foo 存在<br>'; }else{ echo 'foo 不存在<br>'; }?>
하지만 이 판단은 충분히 엄격하지 않습니다. 값이 false 또는 null이면 키가 있는지 여부를 판단하여 데이터가 존재하는지 판단할 수 있습니다.
<?php$m = new Memcache;$m->connect('localhost', 11211);// 正常值判断echo '正常值判断:';$m->set('foo', 100);if(check_key_exists($m, 'foo')){ echo 'foo key存在<br>'; }else{ echo 'foo key不存在<br>'; }// false判断echo 'false判断:';$m->set('foo', false);if(check_key_exists($m, 'foo')){ echo 'foo key存在<br>'; }else{ echo 'foo key不存在<br>'; }// null判断echo 'null判断:';$m->set('foo', null);if(check_key_exists($m, 'foo')){ echo 'foo key存在<br>'; }else{ echo 'foo key不存在<br>'; }// 数据过期后判断,1秒后过期echo '过期判断:';$m->set('foo', 100, 0, 1); sleep(2);if(check_key_exists($m, 'foo')){ echo 'foo key存在<br>'; }else{ echo 'foo key不存在<br>'; }// delete后判断echo 'delete后判断:';$m->set('foo', 100);$m->delete('foo');if(check_key_exists($m, 'foo')){ echo 'foo key存在<br>'; }else{ echo 'foo key不存在<br>'; }/** * @param Obj $m memcache obj * @param String $name key name * @return Boolean */function check_key_exists($m, $name){ $data = $m->get($name); return $data!==false; }?>
출력:
정상 값 판단: foo 키가 있음
거짓 판단: foo 키가 있음
null 판단: foo 키가 있음
만료된 판단: foo 키가 없음 존재
삭제 후 판단: foo 키가 존재하지 않습니다
키가 삭제이거나 만료인 경우에만 키가 존재하지 않는다고 판단할 수 있습니다. 그 외의 경우에는 값이 null/false이더라도 존재하지 않는다고 판단할 수 있습니다. 그것은 존재할 것입니다.
참고: value 값이 false인 경우 memcache get 메소드를 사용하여 얻는 것은 ""empty string입니다. memcache는 문자열 데이터만 저장할 수 있으므로 false는 다음과 같은 경우 빈 문자로 변환됩니다. 함께 묶었습니다.
이 글에서는 PHP를 사용하여 Memcache 키/값이 존재하는지 확인하는 방법을 설명합니다. 더 많은 관련 내용을 보려면 PHP 중국어 웹사이트를 참고하세요.
관련 권장 사항:
PHP가 헤더를 통해 사용자 정의 데이터를 보내도록 하는 방법
inet_aton 및 inet_ntoa를 사용하여 mysql을 통해 IP 주소 데이터를 처리하는 방법
gzip 압축을 사용하여 php json 데이터 출력에 대한 관련 콘텐츠
위 내용은 Memcache 키/값이 존재하는지 확인하기 위해 PHP를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!