Couchbase Server를 터치해보세요. - KVS로 사용하세요. -

Couchbase Server를 터치해보세요.

4장 쿠키베이스를 KVS로 사용해 보도록 하겠습니다.


이 기사는 소프트웨어 디자인 2016년 12월호(이하 SD잡지) KVS 특집의 쿠키베이스서버 소개 기사에 대한 추가 기사다.
Couchbase Server에 대한 간단한 설명부터 실제로 사용하기 전까지 객체입니다.
쿠키베이스 서버에 관한 공식 파일은 많지만 오래된 버전이 많아 링크가 끊기는 등 대충 만지고 싶을 때 참고하세요.
이 기사는 쿠키베이스 4다.5원 기재.
색인 여기 있습니다.

KVS로 활용


스크립트 사용(PHP)


여기에 견본으로 PHP를 사용한 예를 소개한다.
PHP의 Couchbase를 사용하려면 다음과 같은 준비가 필요합니다.
http://developer.couchbase.com/documentation/server/current/sdk/php/start-using-sdk.html
# Only needed during first-time setup:
wget http://packages.couchbase.com/releases/couchbase-release/couchbase-release-1.0-2-x86_64.rpm
sudo rpm -iv couchbase-release-1.0-2-x86_64.rpm
# Will install or upgrade existing packages
sudo yum install libcouchbase-devel gcc gcc-c++ php-devel
sudo pecl install couchbase
내 환경에 다음과 같은 오류가 발생했습니다.6이 설치되어 있어서 조금 변경되었어요.
fatal error: zlib.h: No such file or directory

sudo yum install libcouchbase-devel gcc gcc-c++ php56-devel zlib-devel
그 다음에 php.ini couchbse 주세요.so를 설치하고 Apache를 다시 시작합니다.
sudo echo "extension=couchbase.so" > /etc/php.d/couchbase.ini
sudo /etc/init.d/httpd restart
다음은 이전에 만든 구간에 문서를 저장하는 견본입니다
이 샘플은 CouchbaseBucket:upsert () 명령을 사용하여 원본 문서가 없는 상황에서 새 문서를 추가하고 일치할 때 덮어씁니다.
PHP의 아라이(aray) 데이터 구조가 그대로 JSON으로 엄정하게 저장돼 있어 쿠키베이스에서 JSON임을 인지하지 못했다.
vi cb_test.php

<?php
define("BUCKET_NAME",          "sample");
define("BUCKET_PASSWD",        "password");

// Connect to Couchbase 
$cluster = new CouchbaseCluster("localhost");
$bucket = $cluster->openBucket(BUCKET_NAME, BUCKET_PASSWD);


// Store a document
echo "Upsert U:Taru8\n";
$result = $bucket->upsert(
    'U:Taru8',
    [
        "doctype"     => "USER",
        "email"       => "taruhachi@***.**",
        "sex"         => "male",
        "birthday"    => "1975-08-08",
        "u_timestamp" => time()
    ],
['expiry'=>30]
);
print_r($result);

echo "Get U:Taru8\n";
$result = $bucket->get("U:Taru8");
print_r((array)$result->value);
?>
스크립트 실행 결과
$ php cb_test.php

Upsert U:Taru8
CouchbaseMetaDoc Object
(
    [error] =>
    [value] =>
    [flags] =>
    [cas] => 2445gkpq8k
    [token] =>
)
Get U:Taru8
Array
(
    [doctype] => USER
    [email] => taruhachi@***.**
    [sex] => male
    [birthday] => 1975-08-08
    [u_timestamp] => 1474152241
)
※ 문서의 버튼과 문서 양쪽에서 문서의 데이터 분류를 식별할 수 있다면 관리 콘솔을 사용하거나 N1QL을 사용할 때 매우 편리합니다.
문서의 키 접두사는 "U:"이고 doctype="USER"은 문서에 포함됩니다.
Docoment에도 관리 콘솔이 추가되었는지 확인합니다.

또 expiry로 30초를 지정했기 때문에 30초 후에도 자동으로 삭제할 수 있다.
CouchbaseBucket의 주요 Method는 다음과 같습니다.
위의 샘플 스크립트를 수정하면서 다양한 행동을 시도해 주십시오.

상세한 상황은
http://docs.couchbase.com/sdk-api/couchbase-php-client-2.2.2/
참조해주세요.

좋은 웹페이지 즐겨찾기