本文作者:心月

php中memcached扩展的使用指南

心月IT博客 2019-06-11
摘要:memcache是一套分布式高速缓存系统,分布式是指可以同时在多台服务器安装memcache,这样可以达到一个很好的集群效果;高速是指,memcache的所有数据都是维护在内存中,它的读取速度比存取硬盘中的速度要快的多。

1、什么是memcache

    memcache是一套分布式高速缓存系统,分布式是指可以同时在多台服务器安装memcache,这样可以达到一个很好的集群效果;高速是指,memcache的所有数据都是维护在内存中,它的读取速度比存取硬盘中的速度要快的多。


2、memcache的作用

    可以在应用和数据库当中增加一个缓冲层,在数据库中读取的数据,接下来再次读取时可以直接在memcache中读取,这样可以减轻数据库的压力。


3、memcache使用场景:

     1、非持久化存储:对数据存储要求不高,数据丢失也不会对系统产生影响。

     2、分布是存储:不适合单机使用,memcache对内存的消耗很大。

     3、Key/Value格式存储:格式简单,不支持List、Array数据格式。


memcache和memcached对比:

    memcache 是pecl扩展库版本

    memcached是libmemcached版本

    Memcache是原生实现的,支持OO和非OO两套接口并存。而memcached是使用libmemcached,只支持OO接口。

    在实际使用中可以将memcached当成是memcache的升级版本,推荐使用memcached,memcached有比memcache更多的操作,而且速度和稳定性都比memcache好很多


4、memcached服务端安装

 sudo apt-get install memcached


memcached服务启动:

/usr/bin/memcached -d -l 127.0.0.1 -p 11211 -m 150 -u nginx

-d:守护进程模式启动,终端退出后进程移入还可以继续运行

-l:指定ip地址:127.0.0.1

-p:指定端口号:11211

-m:给memcached分配内存,单位'M':150

-u:用户名,以哪个的身份登录memcache:nginx


5、php-memcached扩展安装

sudo apt install php-memcached


php中使用memcached

memcached常用方法:

$m = new Memcached();
$servers = [
    [127.0.0.1,11211]    //默认端口:11211
];
$m -> addServers($servers);//添加多台memcache服务器连接
$m -> addServer('127.0.0.1',11211);//连接单台memcache服务器
$m -> add('var1','value1','3600');//添加一个值,如果已经存在,则返回false,第三个值为过期时间
$m -> set('num',12,0); //添加memcache数据,第三个参数表示数据有效时间,0表示永久有效
$m -> get('num'); //获取数据
$m -> delete('num'); //删除数据
$m -> setMulti($data,0);//把多条数据放入数组中,同时添加多条数据,第二个参数是数据的有效时间
$m -> getMulti($keydata;//同时获取多条数据,出入的数组为多个'key'组成的数组
$m -> deleteMulti($keydata;//同时删除多条数据
$m -> getResultCode();//获取上次操作返回的编码,返回0表示操作成功
$m -> getResultMessage();//获取上次操作的结果
$m -> flush(); //清除memcached的所有缓存
$m -> increment('num',2); //每执行一次,num的值增加2
$m -> decrement('num',2); //每执行一次,num的值减少2


memcached使用注意事项:

    不要在单机模式中使用memcached;

    不要只使用memcached保存重要数据,一定要把memcached当成缓存用,而不是当成数据存储;

    定期查看缓存的分布状况和击中状况。


文章版权及转载声明:

作者:心月 本文地址:http://www.xinyueseo.com/other/278.html发布于 2019-08-16
文章转载或复制请以超链接形式并注明出处心月IT博客

分享到:
赞(

发表评论

快捷输入:

    评论列表 (有 0 条评论,人围观)参与讨论