1)看Architecture,是多少,x86就下载x86版的,这个显示和操作系统的多少位没半毛钱关系,不要根据操作系统的多少位来下载,这是个炕,我就被坑了。

(2)看thread safe ,如果是enable ,对于的就是ts版的,否则就是nts版的。

(3)看Compiler,的后缀,一般带有vc11的字样,下载对应的版本

php_memcache-3.0.8-5.6-ts-vc11-x86.zip

http://windows.php.net/downloads/pecl/releases/memcache/3.0.8/ 
2.修改D:/xampp/php/php.ini 
将压缩包里的php_memcache.dll解压缩到D:\xampp\php\ext

在php.ini增加

extension=php_memcache.dll 
并在末行添加

[Memcache] 
memcache.allow_failover = 1 
memcache.max_failover_attempts=20 
memcache.chunk_size =8192 
memcache.default_port = 11211 
3.下载memcached

http://blog.couchbase.com/memcached-windows-64-bit-pre-release-available (他这个失效,我找的http://101.110.118.66/s3.amazonaws.com/downloads.northscale.com/memcached-win64-1.4.4-14.zip,http://101.110.118.24/s3.amazonaws.com/downloads.northscale.com/memcached-win32-1.4.4-14.zip)
以管理员身份运行cmd,进入d:\xampp\memcached

memcached.exe –d install //安装 
memcached.exe –d start //启动

.来源网址:http://blog.csdn.net/ruoshuiyx/article/details/54575099

这里写一点我加上的

telnet 连接

telnet 链接 memcache (如白提示telnet不是内部或外部命令,可百度解决,大概是到控制面板-》程序和功能-》右边有一个打开或关闭windows功能-》把telnet 客户端选上就可以了)

cmd  命令下 输入127.0.0.1 11211 默认端口是11211 

进入后 回车后输入 stats 能看到一堆设置就成功了

php 连接

  上面第2点要成功执行 可能phpinfo()查看是否有memcache 扩展

写一个简单的测试

 

$memcache = memcache_connect('localhost', 11211);

 

if ($memcache) {
$memcache->set("str_key", "String to store in memcached");
$memcache->set("num_key", 123,0,60);

//bool Memcache::set ( string $key , mixed $var [, int $flag [, int $expire ]] )
//Memcache::set()向key存储一个元素值为 var。参数expire是以秒为单位的失效时间, 如果设置为0表明该元素永不过期(但是它可能会因为为了给其他项分配空间而被删除)。如果你希望存储的元素 经过压缩(使用zlib),你可以设置flag的值为MEMCACHE_COMPRESSED。

 

 

$array = Array('assoc'=>123, 345, 567);
$memcache->set("arr_key", $array);
echo "<hr>";
var_dump($memcache->get('str_key'));
echo "<hr>";
var_dump($memcache->get('num_key'));
echo "<hr>";
var_dump($memcache->get('arr_key'));

 

}
else {
echo "连接失败";
}

 

整合到yii2

配置里增加

[
      'components' => [ 
        'cache' => [
            'class' => 'yii\caching\FileCache',
        ],
        'memcache' =>[//共存
            'class' => 'yii\caching\MemCache',
              'servers' => [
                  [
                      'host' => 'localhost',
                      'port' => 11211,
                      'weight' => 60,
                  ],

                  // [
                  //     'host' => 'localhost',
                  //     'port' => 11211,
                  //     'weight' => 60,
                  // ],

              ],
        ],

      ],
]

方法可以看他的文档 和源代码

简单应用

  • get():通过一个指定的键(key)从缓存中取回一项数据。如果该项数据 不存在于缓存中或者已经过期/失效,则返回值 false。
  • set():将一项数据指定一个键,存放到缓存中。
  • add():如果缓存中未找到该键,则将指定数据存放到缓存中。
  • mget():通过指定的多个键从缓存中取回多项数据。
  • mset():将多项数据存储到缓存中,每项数据对应一个键。
  • madd():将多项数据存储到缓存中,每项数据对应一个键。 如果某个键已经存在于缓存中,则该项数据会被跳过。
  • exists():返回一个值,指明某个键是否存在于缓存中。
  • delete():通过一个键,删除缓存中对应的值。
  • flush():删除缓存中的所有数据

   Yii::$app->cache->add('name','allen');

 

posted on 2017-06-05 20:25  allen817  阅读(166)  评论(0编辑  收藏  举报