Thinkphp的默认缓存方式是以File方式,在/Runtime/Temp 下生成了好多缓存文件。

TIPS:

TP3.2支持的缓存方式有:数据缓存类型,支持:File|Db|Apc|Memcache|Shmop|Sqlite|Xcache|Apachenote|Eaccelerator

(有redis的驱动类,不知道是否可用)

尝试在windows下装memcached,测试thinkphp3.2使用memecache缓存方式

1.下载memcache,使用cmd 安装,安装方法参照地址:

--

在Conf/config.php 中添加

'DATA_CACHE_TYPE' => 'Memcache',
'MEMCACHE_HOST'   => 'tcp://127.0.0.1:11211', 
'DATA_CACHE_TIME' => '3600',

(2017.9.1修改更)在TP中使用 查询缓存 cache() 测试,也可直接使用S()函数,更多实现流程和操作方法可查看用户使用手册或者阅读TP源码:

$result = $this->where($where)->cache('key',120,'memcache')->find();
// $options['type'] = 'memcache';
// $data = S('key','',$options);
$data = S('key');

Thinkphp 的 Action调用Memcache方法

import("@.ORG.CacheMemcache");
$cache = Cache::getInstance(); 
$cache->set("uid",'1231');
$cache->get("uid");
$cache->rm("uid");
$cache->clear(); 出现报错:

后来发现由于命名空间原因:

命名空间:

(PHP 5 >= 5.3.0, PHP 7)

什么是命名空间?从广义上来说,命名空间是一种封装事物的方法。在很多地方都可以见到这种抽象概念。例如,在操作系统中目录用来将相关文件分组,对于目录中的文件来说,它就扮演了命名空间的角色。具体举个例子,文件foo.txt 可以同时在目录/home/greg 和 /home/other 中存在,但在同一个目录中不能存在两个 foo.txt 文件。另外,在目录 /home/greg 外访问 foo.txt 文件时,我们必须将目录名以及目录分隔符放在文件名之前得到/home/greg/foo.txt。这个原理应用到程序设计领域就是命名空间的概念。

在PHP中,命名空间用来解决在编写类库或应用程序时创建可重用的代码如类或函数时碰到的两类问题:

  1. 用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突。
  2. 为很长的标识符名称(通常是为了缓解第一类问题而定义的)创建一个别名(或简短)的名称,提高源代码的可读性。

注意:和3.1不同,我们无需在实例化命名空间定义的类之前导入类库文件了。

ThinkPHP3.2中,已经将Memcache包含了进来,于是测试用例如下:

  1. 在Conf/config.php 中添加
  2. 'DATA_CACHE_TYPE' => 'Memcache',
  3. 'MEMCACHE_HOST'   => 'tcp://127.0.0.1:11211',
  4. 'DATA_CACHE_TIME' => '3600',

TestController.class.php:

  1. 测试用例为:
  2. public function index(){
  3. $class = new \Think\Cache\Driver\Memcache();
  4. $class->set('key','1234');
  5. $data = $class->get('key');
  6. echo $data;
  7. }
 

运行结果:

最新文章

  1. PHP核心技术与最佳实践——全局浏览
  2. 【Python基础学习三】数字(Number)
  3. 微信 winwre 移动调试
  4. [Silverlight]监听指定控件(FrameworkElement)的依赖属性(DependencyProperty)的更改
  5. C# Winform学习---MDI窗体的设计,PictureBox控件(图片上一页下一页),Timer控件,MenuStrip控件
  6. SharePoint 2013 设置自己定义布局页
  7. 多次ajax请求数据json出错!!
  8. 二十四、Linux 进程与信号---wait 函数
  9. Exchange Server Notes
  10. extends 与implements的区别和用法
  11. 学习Spring Boot:(二十八)Spring Security 权限认证
  12. Requests快速上手
  13. typealias
  14. 团队作业8——敏捷冲刺博客合集(Beta阶段)
  15. 调用高德地图API(热力图)详解
  16. ARM DEBUGGER FOR NEARLY ONE DOLLAR
  17. 分布式数据库主键id生成策略
  18. Django之views.py详解
  19. 仿微信聊天面板制作 javascript
  20. linux命令(6/11)--修改文件的用户组chgrp和文件所有者chown

热门文章

  1. ClrFromCSharp_2_2_生成部署打包应用程序
  2. 数组工具Array的基本使用
  3. Mayor's posters POJ - 2528 线段树区间覆盖
  4. Android_小账本_筛选功能的实现
  5. Django---Django返回HTML文件
  6. [[FJOI2016]神秘数][主席树]
  7. svn error: "Previous operation has not finished; run 'cleanup' if it was interrupted"
  8. PHPStorm使用XDebug调试
  9. 1级搭建类107-Oracle 18c 单实例 FS(华为云)公开
  10. POI导出PPT