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

[经验分享] memcache和memcached

[复制链接]

尚未签到

发表于 2018-12-24 12:01:27 | 显示全部楼层 |阅读模式

  • 服务端
    服务端就是memcached,是C语言写的,直接安装即可。
    yum install libevent libevent-devel -y
    cd /usr/local/src/
    wget http://memcached.org/files/old/memcached-1.4.15.tar.gz
    tar xf memcached-1.4.15.tar.gz
    cd memcached-1.4.15
    ./configure --prefix=/usr/local/memcaced
    make -j 8
    make install
    /usr/local/memcached/bin/memcached -d -m 1024 -c 1024 -u www
  • 客户端
    如果要连接memcached服务端,需要在客户端安装前先安装所依赖的操作库libmemcache和libmemcached。
    在这里说一说libmemcache和libmemcached区别
    1)先有libmemcache,后有libmemcached
    2)前者开发使用率比较高
    3)libmemcached使用比较安全,并且内存消耗小,理论上比libmemcache更好
    客户端:
    这里以php连接memcached服务端的客户端为例:memcache和memcached
    这两者都是php的扩展,都是有php官方来维护的,但是有区别:
    1)基于的操作库不同,memcache是基于ibmemcache开发的(原生的),memcached扩展是基于libmemcached库开发的,支持cas操作,cas操作就是多个线程并发修改同一个key值时能进行处理。
    2)mc支持面向对象和面向过程两套接口操作服务端。而mcd扩展只支持面向对象方式操作
    3)memcached支持Binary Protocol,而memcache不支持。还是库的不同导致。理论上这意味着memcached会有更高的性能。
    通过$m->setOption(Memcached::OPT_BINARY_PROTOCOL,true) 设置二进制协议。
    目前大部分用户还是使用文本协议,比较简单稳定。实践中使用二进制的还是比较少。
    共同点:mcd扩展提供session处理模块:provides a session handler
    在静态编译到php中时使用选项 --disable-memcache-session 可以关闭memcache的session 支持(默认时开启的)
  • 安装
    这里不提如何安装扩展的内容,只提安装过程中的注意事项:
    编译memcache和memcached这两个扩展的时候,都需要指定libmemcached库或libmemcache库的的安装路径的。所以预先安装好libmemcached(memcache扩展依赖的是libmemcache库)是编译这个扩展的先决条件。要记得先编译安装好。如下指定安装目录用--with-libmemcached-dir=DIR 来指定路径。这个路径就是安装libmemcached时指定的prefix的值(prefix是指定安装目录)
    如果没有指定这个路径项,就会去这些库的默认标准安装目录找(我不知道去×××),所以最好是指定库的位置来安装(可控性强,以后遇到问题方便排查原因,比如以前编译php使用pcre扩展,最好使用php引擎内置的pcre库,使用linux系统上面的,容易出现编码支持问题)。




运维网声明 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-655276-1-1.html 上篇帖子: Memcached服务安装 下篇帖子: memcached缓存数据库
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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