In addition to memcache, a commonly used PHP operation library, we may also be very familiar with a memory cache thing, that is redis, we give This PHP technical article shared by everyone is about how to use PHP to operate redis, a memory caching tool library.
php redis cache operation
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 |
/** * Redis cache operations * @author hxm * @version 1.0 * @since 2015.05.04 */ class RCache extends Object implements CacheFace { private $redis = null; //redis object
private $sId = 1; //servier service ID
private $con = null;//Link resources
/** * Initialize Redis * * @return Object */ public function __construct() { if ( !class_exists('Redis') ) { throw new QException('PHP extension does not exist: Redis'); } $this->redis = new Redis(); }
/** * Link memcahce service * * @access private * @param string $key keyword * @param string $value cache content * @return array */ private function connect( $sid ) { $file = $this->CacheFile(); require $file; if(! isset($cache) ) { throw new QException('Cache configuration file does not exist'.$file); } $server = $cache[$this->cacheId]; $sid = isset($sid) == 0 ? $this->sId : $sid;//memcache service selection if ( ! $server[$sid]) { throw new QException('The cache server configuration file for the current operation does not exist'); } $host = $server[$sid]['host']; $port = $server[$sid]['port']; try { $this->redis->connect( $host , $port ); } catch (Exception $e) { exit('memecache connection failed, error message: '. $e->getMessage()); } }
/** * Write cache * * @access private * @param string $key keyword * @param string $value cache content * @return array */ public function set( $key , $value , $sid , $expire = 0) { $data = $this->get($key, $sid); //If the key value already exists if( $data ) { return $this->redis->getset( $key , $value); } else { return $this->redis->set( $key , $value); } }
/** * Read cache * * @access private * @param string $key keyword * @param int $sid Select which memcache server * @return array */ public function get( $key , $sid) { $this->connect( $sid ); return $this->redis->get($key); }
/** * Clean (delete) all stored elements * * @access private * @return array */ public function flush() { $this->connect(); return $this->redis->flushall(); } /** * Delete cache * * @access private * @param string $key keyword * @param int $sid Select which memcache server * @return array */ public function remove( $key , $sid) { $this->connect(); return $this->redis->del($key); }
/** * Destructor * Finally close memcache */ public function __destruct() { if($this->redis) { $this->redis->close(); } } } |
The above is the entire content of this article, I hope you all like it.