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

[经验分享] Memcached缓存服务

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-3-7 09:17:27 | 显示全部楼层 |阅读模式
一、Memcahced简介

1.mamcached:缓存服务
      开源高性能,支持分布式的内存缓存系统。应用于用到公共缓存的系统中,它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。
      在Linux上安装程序为memcached程序包,监听端口11211/tcp,11211/udp
2.memcached特性
    (1)K/V缓存:键值数据(可序列化数据)模型缓存,key引用,value数据内容。键不能相同,有过期时间
    (2)存数在内存中hash表中,断电不复存在。是硬件存储的补充
    (3)仅仅是一个缓存,非代理,需要用户自己去发起读取数据请求;功能的实现一半以来于服务端,一半以来于客户端
    (4) 支持分布式缓存,各服务器之间互不通信,当一台主机出现不问仅影响本机存储缓存;
    (5)O(1)的执行效率,每秒百万次读写请求
    (6)清理过期数据:LRU(最近最少使用算法)。清理分割惰性缓存管理机制,数据过期且内存够用不会主动删除,但时查询不到。使用到该空间时候会直接覆盖

3.memcached内存空间分配
        memcached仅是一个内存存储最终数据还是要存储在strore中,限制其发展;基于内存的存储缓存使用过期时长不同而导致内存回收后的内存碎片问题,使得使用率不高,所以memcahced预划分好内存空间片段,切割多类别的缓存空间块(Chunk),并把尺寸相同的块分成组,缓存数据时候会找一个最小能容纳的空间,若放入的类别中仍有空闲,会放弃使用空间。
   Slab Allocation术语:
Page:分配给Slab的内存空间,默认是1MB。分配给Slab之后根据slab的大小切割成Chunk
Chunk:用于缓存记录的内存空间
Slab Class:特定大小的chunk的组
wKiom1bbnHbTMFfbAAGPA9Vq5Rk698.jpg

二、安装和命令行使用
  1.程序安装
   (1)memcached程序安装
          [iyunv@localhost~]#yum install memcached
          [iyunv@localhost~]# systemctl start memcached.service
程序配置:/etc/sysconfig/memcached
               [iyunv@localhost~]# cat /etc/sysconfig/memcached
wKioL1bbnPWyo4SoAAEUU8fdXY8046.jpg
   (2)php连接memcached服务器
php和memcached有两种扩展:php-pecl-memcache、php-pecl-memcached
[iyunv@localhost~]# yum install php-pecl-memcache
wKiom1bbnHiyVZBIAACfIeM3x_o138.jpg
2.基于命令行用法
      memcahced程序键值的设定和调用一般只能基于命令行模式或者程序调用
存储类命令
set, add, replace,  append, prepend
获取数据类命令
get, delete,  incr/decr
统计类命令
stats,  stats items, stats slabs, stats sizes
清理
flush_all

3.memchached常用选项
         memcached  [OPTIONS]
-l  IP
监听的IP地址;默认为
-d
运行为守护进程
-u  USERNAME
以USERNAME用户身份运行程序
-m <num>
用于缓存数据的内存空间大小,单位为MB,默认为64;
-c <num>
最大并发连接数;
-p PORT
tcp端口
-U PORT
UDP端口
-t <num>
用于处理请求的最大线程数;
-M
用于缓存的内存耗尽时,返回错误信息,不是lRU(最近最小使用)算法清理
-f <num
growth factor, 增长因子;内存划分大小增长,默认1.5倍
-n <num>:
指明最小的slab大小,默认是96;


运维网声明 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-187366-1-1.html 上篇帖子: memcache集群安装 下篇帖子: memcached启动脚本
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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