>  기사  >  백엔드 개발  >  Memcache 키/값이 존재하는지 확인하기 위해 PHP를 사용하는 방법

Memcache 키/값이 존재하는지 확인하기 위해 PHP를 사용하는 방법

jacklove
jacklove원래의
2018-06-09 10:19:351470검색

1. memcache 소개

memcache는 데이터 캐싱 및 분산 웹사이트 세션 저장에 사용되는 분산 캐시 소프트웨어 세트입니다. key=>value 메소드를 사용하여 데이터를 저장하고 데이터 압축 저장 처리 및 데이터 만료 처리를 지원합니다.
값은 문자열만 지원합니다. 다른 형식이 필요한 경우 먼저 json으로 변환한 후 저장할 수 있습니다.

사용법:

<?php$m = new Memcache;$m->connect(&#39;localhost&#39;, 11211);$m->set(&#39;foo&#39;, 100); // 保存数据echo $m->get(&#39;foo&#39;); // 读取数据?>

Memcache를 데이터 캐시로 사용합니다. 일반적으로 단계는
1. Memcache에 데이터가 있는지 확인하고, 데이터가 있으면 직접 반환하고, 그렇지 않으면 데이터 소스에서 데이터를 가져옵니다.
2. 데이터 소스에서 데이터를 얻은 후 Memcache에 캐시로 쓰고 다음 요청을 기다립니다.

2. Memcache 데이터가 있는지 확인

Memcache에 데이터가 있는지 확인하려면 일반적으로 get 메서드를 통해 데이터를 가져오고, 해당 데이터가 거짓인지 여부를 기준으로 판단합니다.

<?php$m = new Memcache;$m->connect(&#39;localhost&#39;, 11211);$m->set(&#39;foo&#39;, 100);if($m->get(&#39;foo&#39;)){    echo &#39;foo 存在<br>&#39;;
}else{    echo &#39;foo 不存在<br>&#39;;
}$m->delete(&#39;foo&#39;);if($m->get(&#39;foo&#39;)){    echo &#39;foo 存在<br>&#39;;
}else{    echo &#39;foo 不存在<br>&#39;;
}?>

하지만 이 판단은 충분히 엄격하지 않습니다. 값이 false 또는 null이면 키가 있는지 여부를 판단하여 데이터가 존재하는지 판단할 수 있습니다.

3. Memcache 키가 있는지 확인

<?php$m = new Memcache;$m->connect(&#39;localhost&#39;, 11211);// 正常值判断echo &#39;正常值判断:&#39;;$m->set(&#39;foo&#39;, 100);if(check_key_exists($m, &#39;foo&#39;)){    echo &#39;foo key存在<br>&#39;;
}else{    echo &#39;foo key不存在<br>&#39;;
}// false判断echo &#39;false判断:&#39;;$m->set(&#39;foo&#39;, false);if(check_key_exists($m, &#39;foo&#39;)){    echo &#39;foo key存在<br>&#39;;
}else{    echo &#39;foo key不存在<br>&#39;;
}// null判断echo &#39;null判断:&#39;;$m->set(&#39;foo&#39;, null);if(check_key_exists($m, &#39;foo&#39;)){    echo &#39;foo key存在<br>&#39;;
}else{    echo &#39;foo key不存在<br>&#39;;
}// 数据过期后判断,1秒后过期echo &#39;过期判断:&#39;;$m->set(&#39;foo&#39;, 100, 0, 1);
sleep(2);if(check_key_exists($m, &#39;foo&#39;)){    echo &#39;foo key存在<br>&#39;;
}else{    echo &#39;foo key不存在<br>&#39;;
}// delete后判断echo &#39;delete后判断:&#39;;$m->set(&#39;foo&#39;, 100);$m->delete(&#39;foo&#39;);if(check_key_exists($m, &#39;foo&#39;)){    echo &#39;foo key存在<br>&#39;;
}else{    echo &#39;foo key不存在<br>&#39;;
}/**
 * @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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.