이 기사의 예에서는 Tencent CMEM의 PHP 확장 프로그램의 컴파일 및 설치 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 내용은 다음과 같습니다.
CMEM이란 무엇인가요?
Cloud Memory의 정식 명칭인 CMEM은 Tencent에서 제공하는 고성능 메모리 수준 영구 스토리지 서비스로, 데이터 볼륨이 작고 액세스 볼륨이 높으며 키 값 스토리지가 있는 시나리오에 적합합니다.
CMEM은 키/값 쌍을 저장하는 해시맵을 기반으로 하며 데이터는 메모리에 저장되며 데이터 지속성을 보장합니다.
CMEM PHP 확장이란 무엇입니까?
CMEM은 표준 Memcached 프로토콜 및 인터페이스를 기반으로 하지만 데이터 수집 인터페이스에 반환 값 설정만 추가합니다.
Memcached의 Get 프로토콜에는 설계된 반환 코드가 없으므로 Memcached API가 NO_DATA를 반환하는 경우 이는 네트워크상의 이유로 인해 발생할 수 있으며 완전히 신뢰할 수 없습니다. 다음 프로세스를 사용하는 것은 매우 위험하며 사용자 데이터가 초기화될 수 있습니다.
if(NO_DATA) { InitData(); }
위 문제를 해결하기 위해 CMEM은 Memcahced 텍스트 확장 프로토콜을 제공하며 두 개의 확장 명령 get_ext 및 gets_ext를 추가하여 클라이언트가 반환 코드를 기반으로 데이터 존재 여부를 확인할 수 있습니다. 이를 통해 네트워크 및 장치 장애가 발생할 때 데이터 획득 실패로 인한 사용자 데이터의 잘못된 초기화를 방지할 수 있습니다.
CMEM 컴파일 및 설치
# 下载CMEM cd /home/src wget http://cmem.googlecode.com/files/cmem-2.2.6.tar.gz # 解压 tar zxvf cmem-2.2.6.tar.gz cd cmem-2.2.6 # 编译 /usr/local/webserver/php/bin/phpize ./configure --with-php-config=/usr/local/webserver/php/bin/php-config make # 安装PHP扩展 cp modules/cmem.so /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20090626/ # 配置php.ini # 加入以下内容 # -------------------------------------------------- extension = "cmem.so" # -------------------------------------------------- # 测试 # 新建cmemtest.php cat > /tmp/cmemtest.php # 代码为 # -------------------------------------------------- <?php if(!class_exists('CMEM')) echo "CMEM NOT FOUND!\n"; else echo "CMEM IS OK\n"; ?> # -------------------------------------------------- # 执行测试文件 /usr/local/webserver/php/bin/php -f /tmp/cmemtest.php
이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.