激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - PHP教程 - php實現(xiàn)的redis緩存類定義與使用方法示例

php實現(xiàn)的redis緩存類定義與使用方法示例

2021-06-15 14:03風(fēng)火程序員 PHP教程

這篇文章主要介紹了php實現(xiàn)的redis緩存類,結(jié)合具體實例形式分析了php封裝的針對redis緩存類定義與使用相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了php實現(xiàn)的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
<?php
class redisCache {
  /**
  * $host : redis服務(wù)器ip
  * $port : redis服務(wù)器端口
  * $lifetime : 緩存文件有效期,單位為秒
  * $cacheid : 緩存文件路徑,包含文件名
  */
  private $host;
  private $port;
  private $lifetime;
  private $cacheid;
  private $data;
  public $redis;
  /**
  * 析構(gòu)函數(shù),檢查緩存目錄是否有效,默認賦值
  */
  function __construct($lifetime=1800) {
    //配置
    $this->host = "127.0.0.1";
    $this->port = "6379";
    $redis = new Redis();
    $redis->pconnect($this->host,$this->port);
    $this->redis=$redis;
    $this->cacheid = $this->getcacheid();
    $this->lifetime = $lifetime;
    $this->data=$redis->hMGet($this->cacheid, array('content','creattime'));
    //print_r($this->redis);
    //print_r($this->data);
  }
  /**
  * 檢查緩存是否有效
  */
  private function isvalid(){
    $data=$this->data;
    if (!$data['content']) return false;
    if (time() - $data['creattime'] > $this->lifetime) return false;
    return true;
  }
  /**
  * 寫入緩存
  * $mode == 0 , 以瀏覽器緩存的方式取得頁面內(nèi)容
  */
  public function write($mode=0,$content='') {
    switch ($mode) {
      case 0:
        $content = ob_get_contents();
        break;
      default:
        break;
    }
    ob_end_flush();
    try {
      $this->redis->hMset($this->cacheid, array('content'=>$content,'creattime'=>time()));
      $this->redis->expireAt($this->cacheid, time() + $this->lifetime);
    }
    catch (Exception $e) {
      $this->error('寫入緩存失敗!');
    }
  }
  /**
  * 加載緩存
  * exit() 載入緩存后終止原頁面程序的執(zhí)行,緩存無效則運行原頁面程序生成緩存
  * ob_start() 開啟瀏覽器緩存用于在頁面結(jié)尾處取得頁面內(nèi)容
  */
  public function load() {
    if ($this->isvalid()) {
      echo $this->data['content'];
      exit();
    }
    else {
      ob_start();
    }
  }
  /**
  * 清除緩存
  */
  public function clean() {
    try {
      $this->redis->hDel($this->cacheid, array('content','creattime'));
    }
    catch (Exception $e) {
      $this->error('清除緩存失敗!');
    }
  }
  /**
  * 取得緩存文件路徑
  */
  private function getcacheid() {
    return $this->dir.md5($this->geturl()).$this->ext;
  }
  /**
  * 取得當(dāng)前頁面完整url
  */
  private function geturl() {
    $url = '';
    if (isset($_SERVER['REQUEST_URI'])) {
      $url = $_SERVER['REQUEST_URI'];
    }
    else {
      $url = $_SERVER['Php_SELF'];
      $url .= empty($_SERVER['QUERY_STRING'])?'':'?'.$_SERVER['QUERY_STRING'];
    }
    return $url;
  }
  /**
  * 輸出錯誤信息
  */
  private function error($str) {
    echo '<div style="color:red;">'.$str.'</div>';
  }
}
//用法:
// require_once('redisCache.php');
// $cache = new redisCache(10); //設(shè)置緩存生存期
// if ($_GET['clearCache']) $cache->clean();
// else $cache->load(); //裝載緩存,緩存有效則不執(zhí)行以下頁面代碼
// //頁面代碼開始
// //頁面代碼結(jié)束
// $cache->write(); //首次運行或緩存過期,生成緩存
?>

希望本文所述對大家PHP程序設(shè)計有所幫助。

原文鏈接:http://blog.csdn.net/phpfenghuo/article/details/41204131

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲成人免费视频在线 | 国产乱一区二区三区视频 | 美女被免费网站在线软件 | 91看片在线观看视频 | 九九久久视频 | 久久综合精品视频 | 91不雅视频 | 一区二区三区日韩视频在线观看 | 日韩黄网站 | 国产精品久久77777 | 色诱亚洲精品久久久久久 | 欧美一级美国一级 | 久久一区国产 | 九九热视频这里只有精品 | 欧美毛片 | 日韩精品一区二区亚洲 | 一区二区三区日韩在线观看 | 日日狠狠久久 | av免费在线观看免费 | 韩国三级日本三级香港三级黄 | 九九热在线免费观看视频 | 久久精品一区二区三区国产主播 | 久久久久国产成人免费精品免费 | 色偷偷欧美| 国产精品免费观在线 | 久久久久久久久久久综合 | 国产一级一区二区 | 欧美a在线观看 | 91精品国啪老师啪 | 国产免费看 | 天天夜夜草| 伦一区二区三区中文字幕v亚洲 | 亚洲精品成人久久 | 新久草视频 | 久久久久久久久久久久久国产精品 | 337p粉嫩大胆噜噜噜亚瑟影院 | 91精品国产91久久久久久不卞 | 日韩在线激情 | 干一夜综合| 午夜激情视频免费 | 18pao国产成人免费视频 |