thinkphp 缓存驱动

缓存驱动默认位于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'
 

猜你喜欢

转载自www.cnblogs.com/furuihua/p/11842799.html
今日推荐