ThinkPHP3.1.3核心類 Cache.class.php
/ThinkPHP/lib/core/Cache.class.php
一、示例程式碼
需要注意的就三個函式
1、連線快取
public function connect($type='',$options=array()) {
if(empty($type)) $type = C('DATA_CACHE_TYPE');
$type = strtolower(trim($type));
$class = 'Cache'.ucwords($type); /*根據不同的型別 呼叫不同的快取引擎 預設TP只提供了 檔案快取方式 在 Lib/Driver/Cache/CacheFile.class.php*/
if(class_exists($class))
$cache = new $class($options);
else
throw_exception(L('_CACHE_TYPE_INVALID_').':'.$type);
return $cache;
}
2、取得快取類例項
static function getInstance() {
$param = func_get_args();
return get_instance_of(__CLASS__,'connect',$param);
}
這裡呼叫了 function.php 中的 get_instance_of 函式,實際上 是吧 單例模式獨立出去了
3、佇列快取
作用就是 設定快取的長度
如果不啟用快取佇列,在超時時間內,只要set快取 就是不斷新增快取
額設定的快取長度 如10 ,那麼根據佇列“先進先出”的原則,當快取數量大於10的時候,會刪除隊首的快取。
二、值得說的程式設計小細節:
1、
public function __get($name) {
return $this->get($name);
}
public function __set($name,$value) {
return $this->set($name,$value);
}
這裡體現了物件導向 多型思想
子類繼承Cache類, Cache類中的$this->set() 是呼叫的子類中的方法
2、function.php 中的 get_instance_of 函式
把單例模式獨立出來 是比較不錯的方式
相關文章
- ThinkPHP3.1.3核心類 Dispatcher.class.phpPHP
- smash:一個類unix核心
- EOL 筆記:核心類解析筆記
- ThinkPHP3.1.3原始碼分析(五) App.class.phpPHP原始碼APP
- ThinkPHP3.1.3原始碼分析(三) common.phpPHP原始碼
- ThinkPHP3.1.3原始碼分析(四) Think.class.phpPHP原始碼
- ThinkPHP3.1.3原始碼分析(一) 入口檔案分析PHP原始碼
- ThinkPHP3.1.3原始碼分析(二) runtime.phpPHP原始碼
- vue 核心加解密工具類 方法Vue解密
- Spring MVC 核心類和介面SpringMVC
- _04_java核心類庫2Java
- 備忘錄八:Shiro核心類
- Groovy核心類原始碼講解(上)原始碼
- .NET 開源核心類庫:.NET Core
- Vue原始碼探究-核心類的實現Vue原始碼
- DIY 實現 ThinkPHP 核心框架 (十)App 類PHP框架APP
- ThinkPHP6 核心分析之Http 類跟Request類的例項化PHPHTTP
- DIY 實現 ThinkPHP 核心框架 (九)Container 類PHP框架AI
- DIY 實現 ThinkPHP 核心框架 (十一)完善App 類PHP框架APP
- 03-Java核心類庫_多執行緒Java執行緒
- Java Thread 類相關的幾個核心方法Javathread
- DIY 實現 ThinkPHP 核心框架 (十二)Facade 類PHP框架
- 「Laravel 核心學習」類的反射和依賴注入Laravel反射依賴注入
- 瀏覽器核心的種類簡單介紹瀏覽器
- 【隨筆】JVM核心:JVM執行和類載入JVM
- Junit4與harmcrest中核心類的改變REST
- 受國內主機環境影響,被迫繼續使用ThinkPHP3.1.3版PHP
- Java併發指南7:JUC的核心類AQS詳解JavaAQS
- ThinkPHP6 核心分析(二):Request 類的例項化PHP
- Java核心技術梳理-類載入機制與反射Java反射
- Java核心技術第五章——2.Object類JavaObject
- Mybatis原始碼解析3——核心類SqlSessionFactory,看完我悟了MyBatis原始碼SQLSession
- 03-Java核心類庫_列舉、註解與反射Java反射
- Java併發集合類ConcurrentHashMap底層核心原始碼解析JavaHashMap原始碼
- c++11-17 模板核心知識(二)—— 類别範本C++
- Spring Cloud Alibaba Sentinel 主要原理和核心類介紹SpringCloud
- JVM核心之JVM執行和類載入全過程JVM
- Spring5原始碼解析系列一——IoC容器核心類圖Spring原始碼