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

[经验分享] 缓存服务器之Memcached

[复制链接]

尚未签到

发表于 2018-12-25 12:36:34 | 显示全部楼层 |阅读模式
  Memcached简介
Memcached是一款开源、高性能、分布式内存缓存服务器,它是基于key-value的内存存储,不支持持久化。经常拿来与redis做比较,因为没有持久化
存储功能,所以memcached不能用来存储关键性数据。
  特点:
1、协议简单:纯文本协议,开销小
2、基于libevent模型能够处理高并发
3、基于内存存储,通过LRU(Least Recently Used)最近最少使用算法清除过期缓存,其清理过期缓存是基于惰性工作法则来工作的
4、分布式集群:互不通信,没有分布式集群的高可用,负载均衡等特点
5、旁挂式缓存: 与varnish不同,varnish是代理是缓存,而memcached是旁挂式缓存
  Memcached的部署
  系统环境:(CentOS 6.7)
  [root@linux-node1 ~]# cat /etc/redhat-release
CentOS release 6.7 (Final)
  源码安装:
  1、安装依赖包libevent
因为memecached基于事件驱动模型支持高并发
livevent官网 http://http://libevent.org/  下载适合的版本,我这里下载是libevent-2.1.8-stable.tar.gz
  ~]#  wget https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz
  ~]# tar xf libevent-2.1.8-stable.tar.gz
~]# cd libevent-2.1.8-stable
~]# ./configure --prefix=/usr/local/libevent
~]# make && make install
  2、源码安装memcached
  下载memcached,  http://www.memcached.org/files/memcached-1.4.36.tar.gz
  ~]# tar xf memcached-1.4.36.tar.gz
~]# cd memcached-1.4.36
~]# ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent
~]# make && make install
  ~]# vim /etc/profile.d/memcached.sh                               //环境变量
  export PATH=/usr/local/memcached/bin:$PATH
  ~]# . /etc/profile.d/memcached.sh
  ~]# memcached -h                                       //查看帮助
  ~]# useradd -s /sbin/nologin -b /var/run  memcached          //创建一个运行memcached用户
~]# memcached -d -u memcached
~]# ss -tunlp | grep memcached                                          //可以看出监听在tcp/11211和udp/11211
  udp    UNCONN     0      0                      :11211                 :      users:(("memcached",10556,28),("memcached",10556,29),("memcached",10556,30),("memcached",10556,31))
udp    UNCONN     0      0                     :::11211                :::
      users:(("memcached",10556,32),("memcached",10556,33),("memcached",10556,34),("memcached",10556,35))
tcp    LISTEN     0      128                   :::11211                :::      users:(("memcached",10556,27))
tcp    LISTEN     0      128                    
:11211                 :      users:(("memcached",10556,26))
  如果想使用 Sysv风格的启动方式,service memcached star|stop ,可以写一个脚本/etc/init.d/memcached,可以参照网上写的文档
也可以yum安装memcache,参照/etc/init.d/memcached 自己改一个
  登录测试:
  ~]# telnet localhost 11211
Trying ::1...
Connected to localhost.
Escape character is '^]'.
  yum 安装:如果条件还是使用yum安装,也是比较推崇的方式
  ~]# yum -y install memcached
~]# rpm -ql memcached
~]# cat /etc/sysconfig/memcached            //程序的默认配置
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS=""
  ~]# service memcached start
~]# ss -t~]# netstat -lntup | grep memcached
tcp        0      0 0.0.0.0:11211               0.0.0.0:                   LISTEN      2738/memcached      
tcp        0      0 :::11211                    :::
                        LISTEN      2738/memcached      
udp        0      0 0.0.0.0:11211               0.0.0.0:                               2738/memcached      
udp        0      0 :::11211                    :::
                                    2738/memcached
  Memcache常用命令:
  详细信息请参考: https://github.com/memcached/memcached/wiki/Commands
  set:set                          新增或修改,如果键不存在则创建,存在则修改
command   


参数说明如下:
key     key 用于查找缓存值
flags     可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息
expiration time     在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
bytes     在缓存中存储的字节数
value     存储的值(始终位于第二行)
  例如: set userid 0 0 5
  get: get
delete: delete     
add: add                              键存在则无法创建
replace: replace   
flush_all: 清除所有缓存
stats: 显示memcached的统计数据信息
  append
prepend
incr
decr
  Memcached 缓存状态查看工具: memcached-tool
  ~]# memcached-tool 127.0.0.1




运维网声明 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-655701-1-1.html 上篇帖子: memcached 启动参数 和 stat 参数详解 下篇帖子: #Memcached系列#(6)使用Enyim.Caching访问Memcached的一个C#控制台程序
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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