设为首页 收藏本站
查看: 983|回复: 0

[经验分享] memcached及memcache扩展安装

[复制链接]

尚未签到

发表于 2018-12-25 08:19:41 | 显示全部楼层 |阅读模式
  系统:centos6.3_x64

  

  Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent

  1) 先安装libevent:
  wget http://cloud.github.com/downloads/libevent/libevent/libevent-2.0.20-stable.tar.gz
  # tar -zxvf libevent-2.0.20-stable.tar.gz
  # cd libevent-2.0.20
  # ./configure --prefix=/usr
  # make
  # make install
  2) 安装memcached
  wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz
  # tar zxvf memcached-1.4.15.tar.gz
  # cd memcached-memcached-1.4.15
  # ./configure --prefix=/usr/local --with-libevent=/usr
  # make
  # make install
  启动memcached
  # /usr/local/bin/memcached -d -m 2048 -l 192.168.20.243 -p 11211 -u root
  -d选项是启动一个守护进程,
  -m是分配给Memcache使用的内存数量,单位是MB,
  -u是运行Memcache的用户,我这里是system_u,
  -l是监听的服务器IP地址,如果有多个地址的话,可以用多个 -l YOU_IP
  -p是设置Memcache监听的端口,最好是1024以上的端口,
  -c选项是最大运行的并发连接数,默认是1024,按照你服务器的负载量来设定,
  -P是设置保存Memcache的pid文件
  如果要结束Memcache进程,执行:
  用# ps -e 查看进程
  # kill pid memcached的进程号
  运行后有些系统还会提示-bash: kill: pid: arguments must be process or job IDs
  ,但是用# ps -e查看进程,已经没有memcached的进程了。
  

  3) 安装PHP的memcache扩展
  #wget http://pecl.php.net/get/memcache-2.2.7.tgz
  # tar zxf memcache-2.2.7.tgz
  # cd memcache-2.2.7
  # find / -name phpize
  /usr/local/php/bin/phpize
  # /usr/local/php/bin/phpize //执行,如果有输出结果则可以执行扩展
  Configuring for:
  PHP Api Version: 20100412
  Zend Module Api No: 20100525
  Zend Extension Api No: 220100525
  # ./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir
  # make
  # make install
  需要在php.ini(vi /etc/php.ini)文件中相应的位置加入:
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20060613/"
extension=memcache.so
session.cookie_lifetime = 86400
session.gc_maxlifetime = 86400
session.save_handler = memcache
session.save_path = "tcp://192.168.20.243:11211,tcp://192.168.20.244:11211"  启动memcached
  重启apache
  

  优点和缺点:
  memcached部分实现的是内存空间分配和回收,以及存储服务监听和提供.对于分布式的实现,取决于客户端的使用和构造.我们使用的客户端是完全支持分布式的.只是可能会出现某些问题.
  诸如一旦出现网络问题, 网络问题导致某个分布式服务器中的一台失去联系之后,到这台机器恢复正常工作的这段时间内, 写入分布式服务器的数据将基本不可以获取. 可以通过采用分布式hash表的方式解决这个问题
  

  测试memcached启动是否连接正常
  [root@web181 ~]# telnet 192.168.20.243 11211
Trying 127.0.0.1...
30 END
VALUE test 0 10
test_value            #取得的key为test中的数据
END
quit





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-655481-1-1.html 上篇帖子: memcached管理工具(python) 下篇帖子: memcached报警解决方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表