memcache 安装及使用

memcache时php使用memcached的一个扩展,是一种分布式内存对象缓存系统。用来存储经常要查询到的数据,减少对数据库的访问,提高整体网站的速度。

简单提一下memcache与redis区别,memcache和redis都是内存数据库,redis不仅是K=>V是缓存,还有list,hash等,简单K=>V存储用memcache就可以了。

下面是Linux Ubuntu16.04 memcache的安装及使用

1.因为memcache是php使用memcached的扩展,所以先要安装memcached(memcache服务端)

sudo apt-get install memcached 

2.安装完memcached,接下来启动它

memcached -d -m 128 -p 11111 -u root 

-m 指定使用多少兆的缓存空间;-p 指定要监听的端口; -u 指定以哪个用户来运行

3.安装memcache客户端

sudo apt-get install php7-memcache 

安装完客户端在/etc/php/7.0/apache/php.ini里加入extension=memcache.so(根据自己的具体路径添加)

php -m没有的话在/etc/php/7.0/cli/php.ini里也加入extension=memcache.so(根据自己的具体路径添加)

安装好之后去测试一下吧

在laravel5.5中引入memcahce,use memcache 

class IndexController extends Controller
{   
    public $mem;
    public function __construct()
    {
        $this->mem = new Memcache;
        $this->mem->connect("127.0.0.1", 11211);
    }
    public function index()
    {
        $userinfo =  array('n'=>'李四','s'=>'男');
        //判断num是否为true,否则设置起始值为1
        if ($this->mem->get('num')) {
            $this->mem->increment('num', 1);
           
        }else{
            $this->mem->set('num',1);
        }
         //以原子自增为键,存储数据
        $this->mem->set($this->mem->get('num'),serialize($userinfo),false,0);
        
        //定义一个数组,循环取出值
        $list = array();
        for ($i=0; $i <= $this->mem->get('num'); $i++) { 
            if ($this->mem->get($i)) {
                $list[$i] = unserialize($this->mem->get($i));
            }
        }
        var_dump($list);//输出array(1) { [1]=> array(2) { ["n"]=> string(6) "李四" ["s"]=> string(3) "男" } }
        
    }
}

  

posted @ 2019-03-29 09:59  王彭雷  阅读(1333)  评论(0编辑  收藏  举报