缓存驱动默认位于Think\Cache\Driver命名空间下面,目前已经提供了包括APC、Db、Memcache、Shmop、Sqlite、Redis、Eaccelerator和Xcache缓存方式的驱动扩展,缓存驱动必须继承Think\Cache类,并实现下面的驱动接口:

方法说明 接口方法
架构方法 __construct($options='')
读取缓存 get($name)
写入缓存 set($name,$value,$expire=null)
删除缓存 rm($name)
清空缓存 clear()

下面是一个典型的缓存驱动类定义:

  1. namespace Think\Cache\Driver;
  2. use Think\Cache;
  3. /**
  4. * Test缓存驱动
  5. */
  6. class Test extends Cache {
  7. /**
  8. * 读取缓存
  9. * @access public
  10. * @param string $name 缓存变量名
  11. * @return mixed
  12. */
  13. public function get($name) {
  14. // 获取名称为name的缓存
  15. }
  16. /**
  17. * 写入缓存
  18. * @access public
  19. * @param string $name 缓存变量名
  20. * @param mixed $value 存储数据
  21. * @param integer $expire 有效时间(秒)
  22. * @return boolean
  23. */
  24. public function set($name, $value, $expire = null) {
  25. // 设置缓存
  26. }
  27. /**
  28. * 删除缓存
  29. * @access public
  30. * @param string $name 缓存变量名
  31. * @return boolean
  32. */
  33. public function rm($name) {
  34. // 删除名称为name的缓存
  35. }
  36. /**
  37. * 清除缓存
  38. * @access public
  39. * @return boolean
  40. */
  41. public function clear() {
  42. // 清空缓存
  43. }
  44. }

注意:缓存驱动的有效期参数约定,如果设置为0 则表示永久缓存。

如果要让缓存驱动支持缓存队列功能,需要在缓存接口的set操作方法设置成功后添加如下代码:

大理石平台价格

  1. if($this->options['length']>0) {
  2. // 记录缓存队列
  3. $this->queue($name);
  4. }

要配置当前默认的缓存驱动类型可以使用CACHE_TYPE参数,例如:

  1. 'DATA_CACHE_TYPE'=>'test'
 

thinkphp 缓存驱动的更多相关文章

  1. thinkphp缓存使用

    thinkphp缓存使用 一.总结 1.这里的缓存不是指的缓存的页面,而是cache,如果你缓存了一个数组,那么你就可以取出这个数组里面的数据进行使用,用法性质和cookie和session有点像 2 ...

  2. Laravel 中缓存驱动的速度比较

    缓存是web开发中重要的一部分,我相信很多人和我一样,经常忽略这个问题. 随着工作经验的累积,我已经意识到缓存是多么的重要,这里我通过 Scotch 来解释一下它的重要性. 通过观察发现,Scotch ...

  3. ThinkPHP 缓存技术详解 使用大S方法

    如果没有缓存的网站是百万级或者千万级的访问量,会给数据库或者服务器造成很大的压力,通过缓存,大幅减少服务器和数据库的负荷,假如我们把读取数据的过程分为三个层,第一个是访问层,第一个是缓存层,第三个是数 ...

  4. thinkphp 储存驱动

    存储驱动完成了不同环境下面的文件存取操作,也是ThinkPHP支持分布式和云平台的基础. 默认的存储驱命名空间位于Think\Storage\Driver,每个存储驱动必须继承Think\Storag ...

  5. thinkphp 缓存数据

    thinkphp 中内置了缓存操作 3.1版本的数据缓存方法是cache 基本用法: S(array('type'=>'xcache','expire'=>60)); 缓存初始化 缓存初始 ...

  6. 修改ThinkPHP缓存为Memcache的方法

    一般来说,ThinkPHP的默认缓存方式是以File文件方式实现的,运行时会在/Runtime/Temp 下生成很多的缓存文件. 有的情况下服务器装了memcached之后,需要将ThinkPHP的缓 ...

  7. ThinkPHP Mongo驱动update方法支持upsert参数

    Mongo数据库update操作有一个相对于Mysql的关键特性,它可以使用upsert模式,当更新的数据不存在时,直接插入,但是ThinkPHP的Mongo驱动居然不支持这一特性,没办法,自力更生了 ...

  8. thinkphp缓存

    最简答的缓存 // 缓存设置 public function ff(){ S('); } // 缓存读取 public function aa(){ $value = S('name'); echo ...

  9. ThinkPHP缓存微信公众号access_token

    access_token作为微信的全局票据,在高级接口中需要频繁调用,其有效期为7200秒,即2小时,而微信官方对调用Token的次数有限制(参见接口频率限制说明),获取access_token每日限 ...

随机推荐

  1. glog 与 zlog

    1.linux 源码调用 2.log 3级 info error debug 3.调用便利性 4.配置文件 动态加载 5.输出 log 文件 (大小 时间) 6大批量写入 (100条一次写入) 7设置 ...

  2. AtomicInteger 、Synchronized 和 volatile 之间的区别?

    AtomicInteger:无锁的线程安全整数??? Synchronized:同步 volatile:挥发性??? 参考文档:

  3. 使用navigator.userAgent来判断浏览器类型

    var br=navigator.userAgent.toLowerCase(); var browserVer=(br.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ...

  4. hibernate3.6异常

    WARN DTDEntityResolver:73 - recognized obsolete hibernate namespace http://hibernate.sourceforge.net ...

  5. 纯前端html导出pdf--分页+不分页--html2canvas+jsPDF

    前言 最近在项目中,有一个导出pdf功能,需要纯前端来实现,调研了多种pdf导出方式,最终决定使用html2canvas+jsPDF来实现需求. 本文就简单介绍一下html2canvas+jsPDF导 ...

  6. HTML5 worker计数器简单示例

    效果图: index.html var w; // 开始 function startWorker() { if (typeof (Worker) !== "undefined") ...

  7. Windows cmd 打开面板

    { 打开控制面板的命令是:“control”  打开控制面板  命令: rundll32.exe shell32.dll,Control_RunDLL  结果: 显示控制面板窗口.  例子:  Cal ...

  8. Dart编程实例 算术操作符

    Dart编程实例 算术操作符 void main() { var num1 = 101; var num2 = 2; var res = 0; res = num1+num2; print(" ...

  9. 【基础】Linux软件安装方法

    linux中wget .apt-get.yum rpm区别 wget 类似于迅雷,是一种下载工具, 通过HTTP.HTTPS.FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理 名字是Wo ...

  10. PHP ftp_alloc() 函数

    定义和用法 ftp_alloc() 函数为要上传到 FTP 服务器的文件分配空间. 如果成功,该函数返回 TRUE.如果失败,则返回 FALSE. 语法 ftp_alloc(ftp_connectio ...