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. }
 

运行结果:

thinkphp3.2 中 Memcache 的配置和使用(memcahe的使用场景)的更多相关文章

  1. Memcache安全配置

    Memcache安全配置 瞌睡龙 · 2014/01/20 17:59 0x00 Memcache简介 Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash ...

  2. windows环境下memcache相关配置及PHP加载相应模块(php7版本)

    原文:https://blog.csdn.net/zhangatle/article/details/77504094 亲测安装成功 php 7.0 nts 86 第一步,首先下载windows版本的 ...

  3. Linux中redis安装配置及使用详解

    Linux中redis安装配置及使用详解 一. Redis基本知识 1.Redis 的数据类型 字符串 , 列表 (lists) , 集合 (sets) , 有序集合 (sorts sets) , 哈 ...

  4. WCF学习之旅—WCF4.0中的简化配置功能(十五)

    六 WCF4.0中的简化配置功能 WCF4.0为了简化服务配置,提供了默认的终结点.绑定和服务行为.也就是说,在开发WCF服务程序的时候,即使我们不提供显示的 服务终结点,WCF框架也能为我们的服务提 ...

  5. ThinkPHP3.2中if判断条件是两个变量

    <select name="typeId"> <foreach name="typeInfo" item="v"> ...

  6. asp.net中web.config配置节点大全详解

    最近网上找了一些关于Web.config配置节点的文章,发现很多都写的都比较零散,而且很少有说明各个配置节点的作用和用法.搜索了一下发现有一篇写的不错,这里引用一下 原文地址 http://www.c ...

  7. CentOS-7.0.中安装与配置Tomcat-7的方法

    安装说明 安装环境:CentOS-7.0.1406安装方式:源码安装 软件:apache-tomcat-7.0.29.tar.gz 下载地址:http://tomcat.apache.org/down ...

  8. 在Web.config或App.config中的添加自定义配置

    .Net中的System.Configuration命名空间为我们在web.config或者app.config中自定义配置提供了完美的支持.最近看到一些项目中还在自定义xml文件做程序的配置,所以忍 ...

  9. IIS7错误:不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定是默认设置的(overrideModeDefault="Deny")......

    不能在此路径中使用此配置节.如果在父级别上锁定了该节,便会出现这种情况.锁定是默认设置的(overrideModeDefault="Deny")...... 解决方案: 因为 II ...

随机推荐

  1. 面向对象编程(什么是对象)——java

    一.什么是面向对象,什么是面向过 二.引入对象和类的概念 对象:是具体事物 如:小明 汽车 类: 是对对象的抽象(抽象 抽出象的部分) Person 先有具体的对象,然后抽象各个对象之间的部分,归纳出 ...

  2. 牛客网剑指offer第19题——顺时针打印矩阵

    这个题看似很简单: 题目: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 ...

  3. modules模块

    模块操作一 temp.js export var a='eternity'; index.js 跟temp.js同路径 import {a} from ./temp; 模块操作二 temp.js ex ...

  4. 第7章.字符串、String类和StringBuilder类

    参考链接: https://www.runoob.com/csharp/csharp-string.html https://www.cnblogs.com/cang12138/p/7323709.h ...

  5. Tomcat开启JMX监控

    搭建模拟环境: 操作系统:centos7内存:1Gjdk:1.8.0_131tomcat:8.0.48 环境准备我们这里就不直接演示了,直接配置tomcat的jmx 1.进入到tomcat的bin目录 ...

  6. Linux系统下的CPU、内存、IO、网络的压力测试

    本文转载自:小豆芽博客 一.对CPU进行简单测试: 1.通过bc命令计算特别函数 例:计算圆周率 echo "scale=5000; 4*a(1)" | bc -l -q MATH ...

  7. [P5665][CSP2019D2T2] 划分

    先说说部分分做法吧 1.\(n \leq 10\) 指数级瞎草都可以2333 2.\(n \leq 50\) 好像并没有什么做法-也许给剪枝的人部分分吧 3.\(n \leq 400\) 这个复杂度是 ...

  8. H5 meta标签常用写法

    <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content=" ...

  9. C++常见编译问题记录

    1.类名重复问题 在同一个项目下,分文件编译时,所有的文件最后会被编译到一个可执行程序或dll中,所以同一个项目下文件中不能出现两个相同的类名,否则编译器无法区分使用的到底是那个类,就会出现LINK2 ...

  10. Python通过paramiko批量远程主机执行命令

    一.前言 在日常运维的过程中,经常需要登录主机去执行一些命令,有时候需要登录一批主机执行相同的命,手动登录执行的化效率太慢, 所以可以通过Python的paramiko模块批量执行,本篇文章基于pyt ...