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

[经验分享] lnmp-php扩展memcahe的源码编译安装

[复制链接]
累计签到:6 天
连续签到:1 天
发表于 2015-12-24 08:58:06 | 显示全部楼层 |阅读模式
百度百科:
    Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。

    MemCache的工作流程如下:先检查客户端的请求数据是否在memcached中,如有,直接把请求数据返回,不再对数据库进行任何操作;如果请求的数据不在memcached中,就去查数据库,把从数据库中获取的数据返回给客户端,同时把数据缓存一份到memcached中(memcached客户端不负责,需要程序明确实现);每次更新数据库的同时更新memcached中的数据,保证一致性;当分配给memcached内存空间用完之后,会使用LRU(Least Recently Used,最近最少使用)策略加上到期失效策略,失效数据首先被替换,然后再替换掉最近未使用的数据。
    Memcached是以守护程序(监听)方式运行于一个或多个服务器中,随时会接收客户端的连接和操作。

一个简单的memcahe工作图解:
DSC0000.png
                        ——>    首次访问:从RDBMS中取得数据保存到memcahed
                        ——>    第二次后:从memcahed中取得数据显示页面


接下来我们给php里面安装memcahe扩展

安装之前需要安装re2c这个工具,科普(re2c是书写工具非常快,非常灵活的扫描仪。不同于任何其他的工具,Re2C集中在正则表达式匹配生成高效的代码。做为一个结果,这允许比任何传统的词法分析器提供还了一个更广泛的使用范围。最后但并非最不重要的警告免费代码Re2C生成等于手工编写的代码大小,速度和质量。)

[iyunv@vm3 mnt]# tar zxf re2c-0.13.5.tar.gz
[iyunv@vm3 mnt]# cd re2c-0.13.5
[iyunv@vm3 mnt]# ./configure
[iyunv@vm3 mnt]#make
[iyunv@vm3 mnt]# make install
[iyunv@vm3 mnt]# tar zxf memcache-2.2.5.tgz
[iyunv@vm3 mnt]# cd memcache-2.2.5
[iyunv@vm3 memcache-2.2.5]# phpize            #生成php扩展模块
Configuring for:
PHP Api Version:         20100412
Zend Module Api No:      20100525
Zend Extension Api No:   220100525
[iyunv@vm3 memcache-2.2.5]# ./configure --prefix=/usr/local/lnmp/phpmodule/memcache   
[iyunv@vm3 memcache-2.2.5]# make && make install
[iyunv@vm3 memcache-2.2.5]# cd /usr/local/lnmp/php/etc
[iyunv@vm3 etc]# vim php.ini


  • ; ... or under UNIX:
  • ;
  • ;   extension=msql.so
  • extension=memcache.so #加上memcahe的支持
  • ;
[iyunv@vm3 etc]# /etc/init.d/php-fpm reload
Reload service php-fpm  done
然后在浏览器中输入:192.168.1.3/index.php
DSC0001.png
[iyunv@vm3 php]# yum install memcached -y            
[iyunv@vm3 ~]# vim /etc/sysconfig/memcached
[iyunv@vm3 ~]# /etc/init.d/memcached start
[iyunv@vm3 ~]# netstat -antlp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      12275/php-fpm      
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      7753/mysqld         
tcp        0      0 0.0.0.0:11211               0.0.0.0:*                   LISTEN      12328/memcached     
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      7884/nginx                 
tcp        0      0 :::11211                    :::*                        LISTEN      12328/memcached     

[iyunv@vm3 memcache-2.2.5]# cp memcache.php /usr/local/lnmp/nginx/html/
[iyunv@vm3 memcache-2.2.5]# cd /usr/local/lnmp/nginx/html/
[iyunv@vm3 html]# vim memcache.php


  • */

  • $VERSION='$Id: memcache.php,v 1.2 2008/09/11 19:21:06 mikl Exp $';

  • define('ADMIN_USERNAME','admin');       // Admin Username    设置我们的用户名
  • define('ADMIN_PASSWORD','westos');      // Admin Password    密码
  • define('DATE_FORMAT','Y/m/d H:i:s');
  • define('GRAPH_SIZE',200);
  • define('MAX_ITEM_DUMP',50);

  • $MEMCACHE_SERVERS[] = '192.168.1.3:11211'; // add more as an array    我们所要做缓存的主机地址
  • #$MEMCACHE_SERVERS[] = 'mymemcache-server2:11211'; // add more as an array
然后我们做测试,在浏览器中输入:http://192.168.1.3/memcache.php,我们就会看到测试结果如下:
DSC0002.png
我么看到以上页面表示测试成功。




运维网声明 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-155491-1-1.html 上篇帖子: php-cgi占用cpu100%的一次排障之旅 下篇帖子: PHP错误日志 display_errors与log_errors的区别
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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