ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Changeset 3181


Ignore:
Timestamp:
Jun 4, 2007, 6:31:42 PM (12 years ago)
Author:
ebihara
Message:

memcachedに置くキャッシュの作成、削除ができるようにした

Location:
OpenPNE/branches/ebihara/prj_memcached/webapp/lib
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • OpenPNE/branches/ebihara/prj_memcached/webapp/lib/Cache/Container/memcached.php

    r3153 r3181  
    4646
    4747        $this->memcached = new Memcache;
    48         $this->memcached->connect($this->hostname, $this->port);
     48        $this->memcached->connect($options['hostname'], $options['port']);
    4949    }
    5050
    5151    function fetch($id, $group)
    52     {
    53         $cachedata = $this->decode($this->get($id));
    54         $expire = $this->expires;
     52    {var_dump($id . '-fetch');
     53        $cachedata = $this->memcached->get($id);
     54        var_dump($cachedata);
     55        $unserialized = unserialize($this->decode($cachedata));
     56        $expire = 0;  // ロード時のexpireは判定には用いない
    5557        $userdata = '';
    56         $data = array($expire, $cachedata, $userdata);
     58        $data = array($expire, $unserializeds, $userdata);
    5759
    5860        return $data;
     
    6062
    6163    function save($id, $data, $expires, $group, $userdata)
    62     {
    63         $res = $this->set($id, $data, 0, $expires);
     64    {var_dump($id . '-save'); var_dump($expires);
     65        $this->expires = $expires;
     66        $serialized = $this->encode(serialize($data));
     67        $res = $this->memcached->set($id, $serialized, 0, $expires);
    6468    }
    6569
    6670    function remove($id, $group)
    67     {
    68         return $this->delete($id);
     71    {var_dump($id . '-remove');
     72        return $this->memcached->delete($id);
    6973    }
    7074
    7175    function flush($group = '')
    72     {
     76    {var_dump($id . '-flush');
    7377        $this->flushPreload();
    7478        return null;
     
    7781    function idExists($id, $group)
    7882    {
    79         return null;
     83        return (bool)$this->memcached->get($id);
     84    }
     85
     86
     87    function isExpired($id, $group, $max_age)
     88    {
     89        // memcachedはコール時に指定した時間で削除されるので、キャッシュ生存期間判定は不要
     90        // よって、キャッシュが存在しているかどうかで生存期間内かどうかを判定
     91        return $this->idExists($id, $group);
    8092    }
    8193
    8294    function garbageCollection($maxlifetime)
    8395    {
     96        $this->flushPreload();
    8497        return true;
    8598    }
  • OpenPNE/branches/ebihara/prj_memcached/webapp/lib/util/cache.php

    r3153 r3181  
    1515        } elseif (true) {
    1616                include_once 'OpenPNE/Cache.php';
    17             $instance = new OpenPNE_Cache_Function('memcached', array('expires' => '3000'));
     17            $params = array('hostname' => '127.0.0.1', 'port' => '11211');
     18            $instance = new OpenPNE_Cache_Function('memcached', $params);
    1819        } else {
    1920            include_once 'Cache/Lite/Function.php';
     
    6869{
    6970    if (OPENPNE_USE_FUNCTION_CACHE) {
     71        var_dump('rec');
    7072        array_unshift($funcarg, $function);
    7173        $cache =& get_cache_lite_function();
Note: See TracChangeset for help on using the changeset viewer.