一般的に使用される PHP 操作ライブラリである memcache に加えて、私たちはメモリ キャッシュに関するもの、つまり Redis についてもよく知っているかもしれません。この PHP 技術記事を共有します。 phpを使ってメモリキャッシュツールライブラリであるredisを操作する方法についてです。
php redisキャッシュ操作
?
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 キャッシュ操作 * @著者hxm * @バージョン 1.0 * @since 2015.05.04 */ RCache クラスは CacheFace を実装するオブジェクトを拡張します { private $redis = null //redis オブジェクト ;
private $sId = 1 //サーバーサービスID ;
private $con = null;//リンクリソース
/** * Redisを初期化する * * @return オブジェクト */ パブリック関数 __construct() { if ( !class_exists('Redis') ) { throw new QException('PHP 拡張機能が存在しません: Redis'); } $this->redis = new Redis(); }
/** * memcahce サービスへのリンク * * @アクセス非公開 * @param string $key キーワード * @param string $value キャッシュコンテンツ * @配列を返す */ プライベート関数 connect( $sid ) { $file = $this->CacheFile(); $file が必要です; if(! isset($cache) ) { throw new QException('キャッシュ構成ファイルが存在しません'.$file); } $server = $cache[$this->cacheId]; $sid = isset($sid) == 0 ? $this->sId : $sid;//memcache サービスの選択 if (! $server[$sid]) { throw new QException('現在の操作のキャッシュ サーバー構成ファイルが存在しません'); } $host = $server[$sid]['host']; $port = $server[$sid]['ポート']; 試してください{ $this->redis->connect( $host , $port ); } catch (例外 $e) { exit('memecache 接続に失敗しました。エラー メッセージ: '. $e->getMessage()); } }
/** * ライトキャッシュ * * @アクセス非公開 * @param string $key キーワード * @param string $value キャッシュコンテンツ * @配列を返す */ パブリック関数 set( $key , $value , $sid , $expire = 0) { $data = $this->get($key, $sid) //キー値がすでに存在する場合 if( $data ) { return $this->redis->getset( $key , $value); } 他 { return $this->redis->set( $key , $value); } }
/** * 読み取りキャッシュ * * @アクセス非公開 * @param string $key キーワード * @param int $sid どのmemcacheサーバーを選択するか * @配列を返す */ パブリック関数 get( $key , $sid) { $this->connect( $sid ); return $this->redis->get($key); }
/** * 保存されているすべての要素をクリーン (削除) します * * @アクセス非公開 * @配列を返す */ パブリック関数 flash() { $this->connect(); return $this->redis->flushall(); } /** * キャッシュを削除します * * @アクセス非公開 * @param string $key キーワード * @param int $sid どのmemcacheサーバーを選択するか * @配列を返す */ パブリック関数remove( $key , $sid) { $this->connect(); return $this->redis->del($key); }
/** * デストラクター * 最後にmemcacheを閉じます */ パブリック関数 __destruct() { if($this->redis) { $this->redis->close(); } } } |
以上がこの記事の全内容ですが、皆さんに気に入っていただければ幸いです。
。