標籤:style blog io ar color 使用 sp on 資料
class redisDB{ private $redis; //redis對象 /** * 初始化Redis * $config = array( * ‘server‘ => ‘127.0.0.1‘ 伺服器 * ‘port‘ => ‘6379‘ 連接埠號碼 * ) * @param array $config */ function __construct($config = array()){ $this->redis = new Redis(); $this->redis->connect(REDIS_SERVER,REDIS_PORT); return $this->redis; } /** * 設定值 * @param string $key KEY名稱 * @param string|array $value 擷取得到的資料 * @param int $timeOut 時間 */ public function set($key, $value, $timeOut = 0,$type=‘json‘) { if($type==‘serialize‘) { $value = serialize($value); } else { $value = json_encode($value); } $retRes = $this->redis->set($key, $value); if ($timeOut > 0) $this->redis->setTimeout($key, $timeOut); return $retRes; } /** * 通過KEY擷取資料 * @param string $key KEY名稱 */ public function get($key,$type=‘json‘) { $result = $this->redis->get($key); if($type==‘serialize‘) { return unserialize($result); } else { return json_decode($result); } } /** * 刪除一條資料 * @param string $key KEY名稱 */ public function delete($key) { return $this->redis->delete($key); } /** * 清空資料 */ public function flushAll() { return $this->redis->flushAll(); } /** * 資料入隊列 * @param string $key KEY名稱 * @param string|array $value 擷取得到的資料 * @param bool $right 是否從右邊開始入 */ public function push($key, $value ,$right = true) { $value = json_encode($value); return $right ? $this->redis->rPush($key, $value) : $this->redis->lPush($key, $value); } /** * 資料出隊列 * @param string $key KEY名稱 * @param bool $left 是否從左邊開始出資料 */ public function pop($key , $left = true) { $val = $left ? $this->redis->lPop($key) : $this->redis->rPop($key); return json_decode($val); } /** * 資料自增 * @param string $key KEY名稱 */ public function increment($key) { return $this->redis->incr($key); } /** * 資料自減 * @param string $key KEY名稱 */ public function decrement($key) { return $this->redis->decr($key); } /** * key是否存在,存在返回ture * @param string $key KEY名稱 */ public function exists($key) { return $this->redis->exists($key); } /** * 返回redis對象 * redis有非常多的操作方法,我們只封裝了一部分 * 拿著這個對象就可以直接調用redis自身方法 */ public function redis() { return $this->redis; }}
使用方法
include ‘redis.php‘;$redis = new redisDB();$key = ‘fields‘;$value = ‘好指令碼‘; //value可以是字串或者數組$redis->set($key,$value);//擷取fields的值也很簡單$fvalue = $redis->get(‘fields‘);print_r($fvalue);
PHP指令碼redis類的執行個體源碼