php操作redis緩存方法分享
更新時(shí)間:2015年06月03日 12:16:08 投稿:hebedich
除了memcache這個(gè)比較常用的php的操作類庫,我們可能還非常熟悉一個(gè)內(nèi)存緩存的東西,那就是redis,我們給大家分享的這個(gè)php技術(shù)文章,就是關(guān)于如何使用php進(jìn)行操作redis這個(gè)內(nèi)存緩存工具類庫的哦。
php redis緩存操作
<?php
/**
* Redis緩存操作
* @author hxm
* @version 1.0
* @since 2015.05.04
*/
class RCache extends Object implements CacheFace
{
private $redis = null; //redis對(duì)象
private $sId = 1; //servier服務(wù)ID
private $con = null;//鏈接資源
/**
* 初始化Redis
*
* @return Object
*/
public function __construct()
{
if ( !class_exists('Redis') )
{
throw new QException('PHP extension does not exist: Redis');
}
$this->redis = new Redis();
}
/**
* 鏈接memcahce服務(wù)
*
* @access private
* @param string $key 關(guān)鍵字
* @param string $value 緩存內(nèi)容
* @return array
*/
private function connect( $sid )
{
$file = $this->CacheFile();
require $file;
if(! isset($cache) )
{
throw new QException('緩存配置文件不存在'.$file);
}
$server = $cache[$this->cacheId];
$sid = isset($sid) == 0 ? $this->sId : $sid;//memcache服務(wù)選擇
if ( ! $server[$sid])
{
throw new QException('當(dāng)前操作的緩存服務(wù)器配置文件不存在');
}
$host = $server[$sid]['host'];
$port = $server[$sid]['port'];
try {
$this->redis->connect( $host , $port );
} catch (Exception $e) {
exit('memecache連接失敗,錯(cuò)誤信息:'. $e->getMessage());
}
}
/**
* 寫入緩存
*
* @access private
* @param string $key 關(guān)鍵字
* @param string $value 緩存內(nèi)容
* @return array
*/
public function set( $key , $value , $sid , $expire = 0)
{
$data = $this->get($key , $sid); //如果已經(jīng)存在key值
if( $data )
{
return $this->redis->getset( $key , $value);
} else {
return $this->redis->set( $key , $value);
}
}
/**
* 讀取緩存
*
* @access private
* @param string $key 關(guān)鍵字
* @param int $sid 選擇第幾臺(tái)memcache服務(wù)器
* @return array
*/
public function get( $key , $sid)
{
$this->connect( $sid );
return $this->redis->get($key);
}
/**
* 清洗(刪除)已經(jīng)存儲(chǔ)的所有的元素
*
* @access private
* @return array
*/
public function flush()
{
$this->connect();
return $this->redis->flushall();
}
/**
* 刪除緩存
*
* @access private
* @param string $key 關(guān)鍵字
* @param int $sid 選擇第幾臺(tái)memcache服務(wù)器
* @return array
*/
public function remove( $key , $sid)
{
$this->connect();
return $this->redis->del($key);
}
/**
* 析構(gòu)函數(shù)
* 最后關(guān)閉memcache
*/
public function __destruct()
{
if($this->redis)
{
$this->redis->close();
}
}
}
以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。
您可能感興趣的文章:
- php操作redis數(shù)據(jù)庫常見方法實(shí)例總結(jié)
- PHP操作Redis數(shù)據(jù)庫常用方法示例
- PHP數(shù)據(jù)庫操作三:redis用法分析
- PHP實(shí)現(xiàn)的redis主從數(shù)據(jù)庫狀態(tài)檢測功能示例
- PHP的Laravel框架結(jié)合MySQL與Redis數(shù)據(jù)庫的使用部署
- php實(shí)現(xiàn)redis數(shù)據(jù)庫指定庫號(hào)遷移的方法
- 30個(gè)php操作redis常用方法代碼例子
- redis 隊(duì)列操作的例子(php)
- php結(jié)合redis實(shí)現(xiàn)高并發(fā)下的搶購、秒殺功能的實(shí)例
- php Session存儲(chǔ)到Redis的方法
- PHP操作Redis常用技巧總結(jié)
- php+redis實(shí)現(xiàn)商城秒殺功能
- php操作Redis數(shù)據(jù)庫基本示例【安裝、連接、設(shè)置、查詢、斷開】
相關(guān)文章
php后臺(tái)多用戶權(quán)限組思路與實(shí)現(xiàn)程序代碼分享
很多時(shí)候我們再開發(fā)過程中需要考慮到多用戶權(quán)限問題,這篇文章大家可以參考下2012-02-02
php實(shí)現(xiàn)memcache緩存示例講解
共享內(nèi)存是一種在相同機(jī)器中的應(yīng)用程序之間交換數(shù)據(jù)的有效方式,本文說的是php實(shí)現(xiàn)memcache緩存示例,大家參考使用吧2013-12-12
Yii2框架視圖(View)操作及Layout的使用方法分析
這篇文章主要介紹了Yii2框架視圖(View)操作及Layout的使用方法,結(jié)合具體實(shí)例形式分析了Yii2框架視圖操作及布局layout相關(guān)操作技巧,需要的朋友可以參考下2019-05-05
PHP+Redis 消息隊(duì)列 實(shí)現(xiàn)高并發(fā)下注冊人數(shù)統(tǒng)計(jì)的實(shí)例
下面小編就為大家分享一篇PHP+Redis 消息隊(duì)列 實(shí)現(xiàn)高并發(fā)下注冊人數(shù)統(tǒng)計(jì)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-01-01
Zend Framework教程之請求對(duì)象的封裝Zend_Controller_Request實(shí)例詳解
這篇文章主要介紹了Zend Framework教程之請求對(duì)象的封裝Zend_Controller_Request用法,結(jié)合實(shí)例形式詳細(xì)分析了請求對(duì)象封裝的原理,使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-03-03

