thinkphp5 memcached

Posted 狂奔的蜗牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp5 memcached相关的知识,希望对你有一定的参考价值。

环境

linux  memcached1.5.9 (memcached安装在虚拟机192.168.70.164)

wampserver集成环境 thinkphp5 php7 

 

 

步骤一:linux安装memcached

1.Linux系统安装memcached,首先要先安装libevent库。

2.源码安装

wget http://memcached.org/latest                    下载最新版本
tar -zxvf memcached-1.x.x.tar.gz                    解压源码
cd memcached-1.x.x                                  进入目录
./configure --prefix=/usr/local/memcached           配置
make && make test                                   编译
sudo make install                                   安装

3.运行 memcached

// 作为前台程序运行
/usr/local/memcached/bin/memcached -p 11211 -m 64m -vv

// 作为后台程序运行

#/usr/local/memcached/bin/memcached -p 11211 -m 64m -d 或者
#/usr/local/memcached/bin/memcached -d -m 64M -u root -l 127.0.0.1 -p 11211 -c 256 -P /tmp/memcached.pid

 

4.ssh链接memcached

telnet 127.0.0.1 11211
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is ^].
// 以上为正常状态

//  这是一条完整的创建命令
set foot 0 0 3 
bar 
// 记得按回车键 End

set foo 0 0 3                                                   保存命令
bar                                                             数据
STORED                                                          结果
get foo                                                         取得命令
VALUE foo 0 3                                                   数据
bar                                                             数据
END                                                             结束行
quit                                                            退出

注意:默认情况下memecached是有本机访问,要外部机器访问需要设置:

#netstat -tnlp   // 查看监听状态

#/usr/local/memcached/bin/memcached -d -m 10 -u root -l 0.0.0.0 -p 12000 -c 256 -P /tmp/mem  // 设置对外访问(0.0.0.0) 【127.0.0.1只有本机访问】

 

 

 

 

 

步骤二:php7添加memcache扩展

1.下载php_memcache.dll

下载地址:https://gitee.com/zhongjie19/php7_memcached.dll

2.php.ini配置 

extension=php_memcache.dll  // php.ini末尾加入

 

步骤三:thinkphp5链接memcached

1.普通cache,只需要修改application/config.php,参数如下(注意加入缓存ip和端口)

// +----------------------------------------------------------------------
    // | 缓存设置
    // +----------------------------------------------------------------------

    cache                  => [
        // 驱动方式
        type   => memcache,
        // 缓存保存目录
        path   => CACHE_PATH,
        // 缓存前缀
        prefix => ‘‘,
        host=>192.168.70.164,
        port => 12000,
        // 缓存有效期 0表示永久缓存
        expire => 0,
    ],

php

public function m2(){
        cache(name,7777);
    }

ssh

get name
VALUE name 768 3
777
END

2.复合缓存

cache =>  [
        // 使用复合缓存类型
        type  =>  complex,
        // 默认使用的缓存
        default   =>  [
            // 驱动方式
            type   => file,
            // 缓存保存目录
            path   => CACHE_PATH,
        ],
        // 文件缓存
        file   =>  [
            // 驱动方式
            type   => file,
            // 设置不同的缓存保存目录
            path   => RUNTIME_PATH . file/,
        ],
        // redis缓存
        /*‘redis‘   =>  [
            // 驱动方式
            ‘type‘   => ‘memcached‘,
            // 服务器地址
            ‘host‘       => ‘192.168.70.164‘,
            ‘password‘ => ‘admin999‘,
        ],*/
        // memcache缓存
        memcache   =>  [
            // 驱动方式
            type   => memcache,
            // 服务器地址
            host       => 192.168.70.164,
            port => 12000,

        ],

php

public function m(){
        //$mem = Cache::store(‘memcache‘)->get(‘name‘);
        $mem = Cache::store(memcache)->set(name,666);
        //print_r($mem);
    }

ssh

get name
VALUE name 768 3
777
END

 

3.内部链接

 







以上是关于thinkphp5 memcached的主要内容,如果未能解决你的问题,请参考以下文章

为 memcached 和 Rails 组合片段和对象缓存的最佳方式

ThinkPHP5配置redis缓存

thinkphp5的Redis缓存配置

九爷 带你了解 Memcache工作原理总结

如何在 Django 中显式重置模板片段缓存?

thinkphp5 默认配置代码