1 2 3 4 5 6 L

Page Header > Subtitle

[PHP] php memcached example

<?php
    /**
     * 유저 정보관련 클래스
     */
    class UserSession
    {
        protected $uid = "";
        protected $salt = "";
        function __construct($uid = '',$salt = '')
        {
            //using for rest api
            $this->uid = !empty($uid) ? $uid : (!empty($_COOKIE['MaxUid']) ? $_COOKIE['MaxUid'] : null);
            $this->salt = !empty($salt) ? $salt : ( !empty($_COOKIE['MaxSalt']) ? $_COOKIE['MaxSalt'] : null);
            $this->apiUrl = "http://nas.thewdog.com/api/user?uid=".$this->uid."&salt=".$this->salt;
 
            //using for memcached
            $this->cache = new Memcached();
            $this->cacheConfig = array('ip' => '172.30.1.114', 'port' => 11211);
            $this->cacheResultCode = null;
            //init
            $this->cache->addServer($this->cacheConfig['ip'],$this->cacheConfig['port']);
        }
        public function getForRest()
        {
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, $this->apiUrl);
            curl_setopt($ch, CURLOPT_HTTPHEADER, array(
                'Content-Type: application/json',
                'Accept: application/json'
            ));
            curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
            $data = curl_exec($ch);
            curl_close($ch);
 
            return json_decode($data);
        }
        public function getForCache()
        {
            $result = $this->cache->get('user_'.$this->uid);
            $this->cacheResultCode = $this->cache->getResultCode();
            if ($this->cacheResultCode === Memcached::RES_SUCCESS) {
                return json_decode($result);
            }
            else if($this->cacheResultCode === Memcached::RES_NOTFOUND){
                return new stdClass();
            }
            else{
                return $this->cacheResultCode;
            }
        }
        public function get()
        {
            $result = $this->getForCache();
            if(!empty($this->cacheResultCode)){
                return $this->getForRest();
            }
            else{
                return $result;
            }
        }
    }
?>
 

0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기
captcha
자동등록방지 숫자입력

PHP/Python

번호 제목 글쓴이 날짜 조회수
77 PHP 정말로 URL이 존재 하는지를 알고 싶다면 미도어묵 01-12 1,145
76 PHP [Nginx PHP-FPM] 페이지 access denied. 뜨는 현상 (see security.limit_extensions) - php7 … 미도어묵 11-05 1,363
75 PHP PHP를 이용한 심플한 게시판 파싱 미도어묵 11-01 1,199
74 PHP CI3 / php7.1 이상 버전 session 버그시~~~ 미도어묵 10-31 776
73 PHP PHP 5 Forms - Validate E-mail and URL 미도어묵 10-01 735
72 PHP php 전화번호 정규식 미도어묵 06-25 844
71 PHP 문자열에 휴대폰번호가 있으면 010-***-****으로 변경. 미도어묵 06-25 836
70 PHP 영상 썸네일 api function 미도어묵 02-13 825
69 PHP php memcached example 미도어묵 01-02 771
68 PHP php curl 을 이용한 자동 로그인 미도어묵 12-22 960
67 PHP Home / APIs / Requests::register_autoloader() – Register the built-in autoloader 미도어묵 12-21 842
66 PHP 업로드된 이미지 정사각형으로 썸네일 만드는 함수 미도어묵 11-01 843
65 PHP PHP + redis(phpredis) 연동하기 기본 사용 샘플 미도어묵 09-18 1,462
64 PHP Simple PHP MySQL Rest API Sample Example Tutorial 미도어묵 09-15 807
63 PHP Creating a simple REST API in PHP 미도어묵 09-15 794
62 PHP 게시물이 삭제 되었습니다 관리자 08-30 893
61 PHP php 링크 파일 다운받기 관리자 08-28 818
60 PHP php용 형태소 분석기 설치 및 바인딩과 실사용 +1 관리자1 08-28 1,157
59 PHP PHP로 HTML DOM 파싱하기 관리자 08-25 817
58 PHP PHP7: install ext-dom issue(composer require --dev phpunit/phpunit) 관리자 08-04 851