php memcache

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

(2)看thread safe ,若是是enable ,对于的就是ts版的,不然就是nts版的。windows

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

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\extyii2

在php.ini增长app

extension=php_memcache.dll 
并在末行添加yii

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

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 //启动ui

.来源网址: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');

相关文章
相关标签/搜索