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');

相關文章
相關標籤/搜索