00001 <?php
00002
00003
00004
00005
00006
00007
00008 class GyroMemcache {
00009
00010
00011
00012
00013
00014 private static $delegate;
00015
00016
00017
00018
00019 public static function init() {
00020 if (class_exists('Memcached')) {
00021 self::$delegate = new Memcached(Config::get_value(Config::TITLE));
00022 }
00023 else if (class_exists('Memcache')) {
00024 self::$delegate = new Memcache();
00025 }
00026 else {
00027 throw new Exception('GyroMemcache::init(): No memcache extension installed');
00028 }
00029 }
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042 public static function add_server($host = 'localhost', $port = 11211) {
00043 if (self::$delegate instanceof Memcache) {
00044 self::$delegate->addServer($host, $port);
00045 }
00046 else {
00047 self::$delegate->addServer($host, $port);
00048 }
00049 }
00050
00051
00052
00053
00054
00055
00056
00057 public static function get($key) {
00058 return self::$delegate->get($key);
00059 }
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069 public static function add($key, $value, $lifetime_in_seconds) {
00070 if (self::$delegate instanceof Memcache) {
00071 return self::$delegate->add($key, $value, false, $lifetime_in_seconds);
00072 }
00073 else {
00074 return self::$delegate->add($key, $value, $lifetime_in_seconds);
00075 }
00076 }
00077
00078
00079
00080
00081
00082
00083
00084
00085 public static function set($key, $value, $lifetime_in_seconds) {
00086 if (self::$delegate instanceof Memcache) {
00087 self::$delegate->set($key, $value, false, $lifetime_in_seconds);
00088 }
00089 else {
00090 self::$delegate->set($key, $value, $lifetime_in_seconds);
00091 }
00092 }
00093
00094
00095
00096
00097
00098
00099 public static function delete($key) {
00100 self::$delegate->delete($key);
00101 }
00102
00103
00104
00105
00106
00107
00108
00109
00110 public static function increment($key, $by = 1) {
00111 return self::$delegate->increment($key, $by);
00112 }
00113
00114
00115
00116
00117
00118
00119
00120
00121 public static function decrement($key, $by = 1) {
00122 return self::$delegate->decrement($key, $by);
00123 }
00124 }