>백엔드 개발 >PHP 튜토리얼 >Tencent CMEM PHP 확장 컴파일 및 설치 방법_php 기술

Tencent CMEM PHP 확장 컴파일 및 설치 방법_php 기술

WBOY
WBOY원래의
2016-05-16 20:07:171161검색

이 기사의 예에서는 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
# 代码为
# --------------------------------------------------
<&#63;php
if(!class_exists('CMEM')) echo "CMEM NOT FOUND!\n";
else echo "CMEM IS OK\n";
&#63;>
# --------------------------------------------------
# 执行测试文件
/usr/local/webserver/php/bin/php -f /tmp/cmemtest.php

이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.

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