Memcached机制深入了解

1.基于c/s架构,协议简单
  c/s架构,此时memcached为服务器端,我们可以使用如PHP,c/c++等程序连接memcached服务器。
  memcached的服务器客户端通信并不使用XML等格式,而使用简单的基于文本行的协议。因此,通过telnet也能在memcached上保存数据、取得数据

2.基于libevent的事件处理
   libevent是一套跨平台的事件处理接口的封装,能够兼容包括这些操作系统:Windows/Linux/BSD/Solaris 等操作系统的的事件处理。
   Memcached 使用libevent来进行网络并发连接的处理,能够保持在很大并发情况下,仍旧能够保持快速的响应能力。
3.内置内存存储方式
为了提高性能,memcached中保存的数据都存储在memcached内置的内存存储空间中。由于数据仅存在于内存中,因此重启memcached、重启操作系统会导致全部数据消失。
另外,内容容量达到指定值之后,就基于LRU(Least Recently Used)算法自动删除不使用的缓存。memcached本身是为缓存而设计的服务器,
因此并没有过多考虑数据的永久性问题。
4.基于客户端的分布式
  memcached尽管是“分布式”缓存服务器,但服务器端并没有分布式功能。各个memcached不会互相通信以共享信息。
  那么,怎样进行分布式呢?这完全取决于客户端的实现
  如图:

 


        1. 生命周期
*  生命周期 1. apache 关闭后 2. apache没有关闭,但是时间到.
2. Memcached数据存在什么地方(内存)
3. Memcached最佳实践
① 将从数据库查询的数据放入Memcached (举例说明)

将Session数据放入到Memcached(举例说明)
保证memcache扩展开启,memcachd运行
设置php.ini中session.save_handler=memcache
设置php.ini中session.save_path=tcp://localhost:11211
也可以通过php函数 ini_set() 函数在页面设置.
4.Memcached的数据是无用户状态的.即不会和某个用户绑定
5.Memcached访问安全性(举例)
设置防火墙
iptables -a input -p 协议 -s 可以访问ip -dport 端口 -j ACCEPT

5.Memcached vs session的比较
1.存放的介质不同
2.生命周期方式
3. 要解决的问题重点不同(session 主要用于追踪用户状态,是http协
议关联), (memcache用于保存数据)

相关技术
Redis(Key/value型数据库),将数据保存在内存中,并定时向硬
盘中同步。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值