[ Index ] |
PHP Cross Reference of moodle-2.8 |
[Summary view] [Print] [Text view]
1 <?php 2 /* 3 * Copyright 2010 Google Inc. 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 18 require_once "Google/Cache/Abstract.php"; 19 require_once "Google/Cache/Exception.php"; 20 21 /** 22 * A persistent storage class based on the APC cache, which is not 23 * really very persistent, as soon as you restart your web server 24 * the storage will be wiped, however for debugging and/or speed 25 * it can be useful, and cache is a lot cheaper then storage. 26 * 27 * @author Chris Chabot <[email protected]> 28 */ 29 class Google_Cache_Apc extends Google_Cache_Abstract 30 { 31 public function __construct(Google_Client $client) 32 { 33 if (! function_exists('apc_add') ) { 34 throw new Google_Cache_Exception("Apc functions not available"); 35 } 36 } 37 38 /** 39 * @inheritDoc 40 */ 41 public function get($key, $expiration = false) 42 { 43 $ret = apc_fetch($key); 44 if ($ret === false) { 45 return false; 46 } 47 if (is_numeric($expiration) && (time() - $ret['time'] > $expiration)) { 48 $this->delete($key); 49 return false; 50 } 51 return $ret['data']; 52 } 53 54 /** 55 * @inheritDoc 56 */ 57 public function set($key, $value) 58 { 59 $rc = apc_store($key, array('time' => time(), 'data' => $value)); 60 if ($rc == false) { 61 throw new Google_Cache_Exception("Couldn't store data"); 62 } 63 } 64 65 /** 66 * @inheritDoc 67 * @param String $key 68 */ 69 public function delete($key) 70 { 71 apc_delete($key); 72 } 73 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 20:29:05 2014 | Cross-referenced by PHPXref 0.7.1 |