Tools
首页
画图
音乐
采集
记事
博客
实验室
登录
lypeng
146
文章
11
分类
46
记事
分类
生活-[23]
Linux-[24]
前端-[9]
数据库-[16]
PHP-[31]
git-[7]
其他-[6]
python-[20]
算法-[4]
React-Native-[4]
中草药-[2]
广告位1
广告位2
首页
/ Linux
返回列表
ubuntu16.04配置memcache与memcached缓存
阅读:675
发布:2018-06-29
作者:lypeng
以前是在Windows上做开发,Ubuntu没尝试过,也没有仔细去关注这一块。强调一下,这是两种缓存方式!!!他们的服务端都叫做memcached。memcache的历史比memcached 早,memcached缓存方式依赖于libmemcached库。 > memcache最早是在2004年2月开发的,最后更新是在2013年4月,而 memcached 最早是在2009年1月开发的,最后更新是在2014年1月更新的。因此 memcache的历史 比 memcached 早。来自:https://blog.csdn.net/baidu_30000217/article/details/53586536?_blank | 客户端 | 服务端 | | ------------ | ------------ | |memcache | memcached | | libmemcached + memcached | memcached | ## 版本信息 php版本:php5.6.34 服务端版本:memcached1.5.8 memcache客户端扩展: memcache-2.2.7(我开始用的3.0.8,总是报503错误,换2.2.7正常,看了评论,3.0.8对PHP7的支持也不是很好) memcached客户端扩展: libmemcached-1.0.18 memcached-2.2.0 附这些文件下载地址:https://pan.baidu.com/s/1lsFpQAaskeTrpIiiei5-yQ?_blank ** 必须明白这个思路,先启动服务端,然后客户端去连接服务端 ** ## 服务端memcached安装 下载,解压,配置编译安装 ```bash ./configure --prefix=/usr/local/memcache make && make install ``` 然后添加软连接(之后可以不用进memcache/bin目录去启动,/usr/local/bin已经添加到PATH) `ln -s /usr/local/memcache/bin/memcached /usr/local/bin/memcached` ## 启动服务端 ``` memcached -d -u root -m 10 -l 127.0.0.1 -p 11211 -P /tmp/memcached.pid #完整命令 -h看帮助 memcached -d -u root #简单点,这样就可以了,ip地址默认为0.0.0.0,即所有ip可以连接 ``` ## telnet连接测试  ## 安装扩展(三步曲,常规操作,两个扩展安装方法一样,唯一区别memcached的先装libmemcached类库) ```bash phpize ./configure --with-php-config=/usr/local/php56/bin/php-config #memcache的配置(改成你自己的路经) #./configure --with-libmemcached-dir=/usr/local/libmemcached --with-php-config=/usr/local/php56/bin/php-config #memcached的配置 多加一个with参数 make && make install ``` 扩展安装完后,会保存的下面这个目录,你的或许不同 `ls /usr/local/php56/lib/php/extensions/no-debug-non-zts-20131226/` ## 配置PHP后重启下 ``` vim /usr/local/php56/etc/php.ini extension=memcache.so extension=memcached.so ```  ## 分别测试 memcache缓存测试 ```php $memcache = new Memcache; $memcache->connect('127.0.0.1',11211) or die('connect error'); $memcache->set('key','hello memcache!'); $out = $memcache->get('key'); echo $out; ``` memcached缓存测试 ```php $m = new Memcached(); $m->addServer('127.0.0.1', 11211); //memcache也有addServer方法,memcached不存在connect方法 $m->set('int', 99); $m->set('string', 'a simple string'); $m->set('array', array(11, 12)); $m->set('object', new stdclass, time() + 300); var_dump($m->get('int')); var_dump($m->get('string')); var_dump($m->get('array')); var_dump($m->get('object')); ``` ## 附录 关于扩展类里面具体有哪些方法,参见下面链接: > http://php.net/manual/zh/book.memcache.php?_blank > http://php.net/manual/zh/book.memcached.php?_blank
------本文结束
感谢阅读------
上一篇:
ubuntu解决virtualbox虚拟机中的win7不识别USB设备
下一篇:
网络连接