Linux系统架构----memcached理论+部署

前言:
  • memcached是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但被许多网站使用。这是一套开放源代码软件,以BSD license授权发布。
  • memcached缺乏认证以及安全管制,这代表应该将memcached服务器放置在防火墙后。
  • memcached的API使用三十二比特的循环冗余校验(CRC-32)计算键值后,将数据分散在不同的机器上。当表格满了以后,接下来新增的数据会以LRU机制替换掉。由于memcached通常只是当作缓存系统使用,所以使用memcached的应用程序在写回较慢的系统时(像是后端的数据库)需要额外的代码更新memcached内的数据。
  • memcached官网:http://memcached.org/
一、Memcached简介
1.1 Memcached 原理
  • memcached是一种缓存技术,在存储在内存中(高性能分布式内存缓存服务器).
  • 目的 : 提速
    • 传统的都是把数据保存在关系型数据库管理系统既RDBMS,客户端请求时会从RDBS中 读取数据并在浏览器中显示,这样当访问量过大时或集中时,导致RSBMS负担过重,数据库响应恶化,浏览器中显示延迟等严重问题,使用memcached减少数据库查询和访问次数以 提供访问速度,提供扩展性)
    • memcached为key->value非关系型数据库,key为一般子串,值唯一.value除了php中的资源不能存,其它的数据都能存储(字符串,数值,数组,对象,布尔值 ,null,二进制<图片,视频>)
1.2 Memcached特点
  • memcached本质上是一个内存key-value缓存,它通过减轻数据库负载加速动态web应用。
  • memcached不支持数据的持久化,服务器关闭之后数据全部丢失。
  • memcached协议简单,使用的是基于文本行的协议。
  • memcached是多线程工作,redis是单线程工作,各个memcached服务器之间互不通信,各自独立存取数据,不共享任何信息
  • memcached服务器不具有分布式功能,分布式部署取决于memcache客户端
  • memcached用lazy expiration(懒淘汰)实现key过期
  • memcached通过提前分配内存保证运行性能,很少出现内存碎片
  • memcached使用非阻塞IO服用网络模型,目的是提高数据吞吐量
  • memecached使用listen/work的多线程模型,优点是能够充分利用多核,但是会带来一些锁冲突
  • memecached不支持持久化:
    • 业务决定技术方案,memcached以“以服务的方式,而不是库的方式管理KV内存”,为设计目标,它与其他缓存数据库不一样的是KV内存管理组件库,持久化和复杂数据结构并不是它的初衷
1.3 memecached作用及应用场景
1.3.1 memecached作用
  • 高性能分布式缓存服务器(缓存数据库查询结果,减少数据库访问次数) 缓存读取/写入过程 : 首次访问 : 从RDBMS中取得数据保存到memcached;第二次后 : 从memcached中取得数据显示页面
1.3.2 应用场景
  • 数据查询缓存:将数据库的数据加载到memcached,提供程序的访问速度
  • 计数器的场景:通过incr/decr命令实现评论数量、点击数统计、操作次数等场景
  • 乐观锁实现:例如计划任务多实例部署的场景,通过CAS实现不重复执行
  • 防重复处理命令:CAS命令
  • 集群和分布式的区别
    • 集群:可以在单机或者多台机子上部署多个相同配置的服务;
    • 分布式:在多台机子上部署多个不同服务
  • 适用场景示例
    • ① 访问频繁的字典数据
    • ② 大量的hot数据(热门数据缓存)
    • ③ 页面缓存(web站常用)
    • ④ 搜索的查询条件和结果(热门搜索的内存缓存起来)
    • ⑤ 临时处理数据(不需要入库,排重)
二、 memecached工作原理

2.1 memecached工作原理

  • ① memcached的工作就是在专门的机器的内存里维护一张巨大的hash表,来存储经常被读写的一些数组与文件,从而极大的提高网站的运行效率。
  • ② 采用的是C/S模式,在serv
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值