首頁 php教程 php手册 ThinkPHP3.1.3核心类 Cache.class.php

ThinkPHP3.1.3核心类 Cache.class.php

Jun 06, 2016 pm 08:02 PM
核心

/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)

/ThinkPHP/lib/core/Cache.class.php

一、示例代码

需要注意的就三个函数

1、连接缓存

1

2

3

4

5

6

7

8

9

10

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、取得缓存类实例

1

2

3

4

static function getInstance() {

       $param = func_get_args();

        return get_instance_of(__CLASS__,'connect',$param);

    }

登入後複製
这里调用了 function.php 中的 get_instance_of 函数,实际上 是吧 单例模式独立出去了


3、队列缓存

作用就是 设置缓存的长度 

如果不启用缓存队列,在超时时间内,只要set缓存 就是不断添加缓存

额设置的缓存长度 如10 ,那么根据队列“先进先出”的原则,当缓存数量大于10的时候,会删除队首的缓存。


二、值得说的编程小细节:

1、

1

2

3

4

5

6

7

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 函数

把单例模式独立出来 是比较不错的方式



本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何在 Windows 11、10 中啟用或停用核心隔離記憶體完整性 如何在 Windows 11、10 中啟用或停用核心隔離記憶體完整性 Apr 27, 2023 pm 10:43 PM

如何在 Windows 11、10 中啟用或停用核心隔離記憶體完整性

蘋果M3 Ultra推出全新版本,新增32個CPU核心與80個GPU核心 蘋果M3 Ultra推出全新版本,新增32個CPU核心與80個GPU核心 Nov 13, 2023 pm 11:13 PM

蘋果M3 Ultra推出全新版本,新增32個CPU核心與80個GPU核心

Golang的核心是否僅限於單核心運行? Golang的核心是否僅限於單核心運行? Feb 29, 2024 pm 06:39 PM

Golang的核心是否僅限於單核心運行?

Go語言的核心編寫語言是什麼? Go語言的核心編寫語言是什麼? Mar 27, 2024 am 11:30 AM

Go語言的核心編寫語言是什麼?

深入理解JAVA核心垃圾回收演算法 深入理解JAVA核心垃圾回收演算法 Nov 08, 2023 am 11:30 AM

深入理解JAVA核心垃圾回收演算法

java技術的核心是什麼 java技術的核心是什麼 Dec 25, 2023 pm 04:24 PM

java技術的核心是什麼

什麼是計算機的核心部分 什麼是計算機的核心部分 Dec 11, 2020 am 10:24 AM

什麼是計算機的核心部分

M3 Max晶片:蘋果推出16核心CPU與40核心GPU的強大測評 M3 Max晶片:蘋果推出16核心CPU與40核心GPU的強大測評 Aug 21, 2023 pm 08:49 PM

M3 Max晶片:蘋果推出16核心CPU與40核心GPU的強大測評

See all articles