Memcache 缓存机制以及分布式

简介: Memcached是一个高性能的分布式内存对象缓存系统。

Memcache 缓存机制以及分布式

Memcache 缓存机制

Memcached是一个高性能的分布式内存对象缓存系统。

目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力,通过在内在里维护一个统一的巨大的的hash表,

它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等,

简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。

传统的查询方法是直接查询数据库,数据库将结果返回给查询语句,

而当有Memcache中间缓存层时,查询的是Memcache缓存数据,下面详细了解Memcache各类数据操作原理:

  1. 查询数据(select),首先通过指定的Key查询(get)Memcache中间缓存层数据,如果存在相对应数据,则直接获取出数据结果,查询过程完全不需要查询数据库。如果不存在,则查询MySQL数据库,并以key对应value的形式将查询结果存储在Memcache缓存数据中,然后将结果返回给查询语句。
  2. 更新数据(update),首先更新数据,然后删除相关的memcache数据(delete)。
  3. 增加数据(add),首先删除相关缓存数据,然后增加数据。
  4. 删除数据(delete),删除数据,并删除Memcache数据。

memcache的应用场景

  1. 如果是一个小网站,pv值不大,就不考虑使用memcached
  2. 变化频繁,查询频繁,但是不一定写入数据库(适合memcached)(用户在线状态)
  3. 变化频繁,一变化就要入库(比如股票,金融)不适合memcached
  4. 变化不频繁,查询频繁,不管入不入库,都比较适合memcache,(新浪的新闻频道)

分布式是指将不同的业务分布在不同的地方(几台服务器)。 而集群指的是将几台服务器集中在一起,实现同一业务。
分布式中的每一个节点,都可以做集群。 而集群并不一定就是分布式的。

举例:

就比如新浪网,访问的人多了,他可以做一个集群,前面放一个响应服务器,后面几台服务器完成同一业务,如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就交给哪一台去完成。

而分布式,从窄意上理解,也跟集群差不多, 但是它的组织比较松散,不像集群,有一个组织性,一台服务器垮了,其它的服务器可以顶上来。memcache的分布式算法取决于客户端,主要用取余算法和一致性哈希算法。

目录
相关文章
|
3月前
|
存储 缓存 NoSQL
【分布式】Redis与Memcache的对比分析
【1月更文挑战第25天】【分布式】Redis与Memcache的对比分析
|
3月前
|
存储 缓存 前端开发
HTTP的缓存机制是什么?
HTTP的缓存机制是什么?
28 1
|
3月前
|
缓存 算法 NoSQL
【分布式详解】一致性算法、全局唯一ID、分布式锁、分布式事务、 分布式缓存、分布式任务、分布式会话
分布式系统通过副本控制协议,使得从系统外部读取系统内部各个副本的数据在一定的约束条件下相同,称之为副本一致性(consistency)。副本一致性是针对分布式系统而言的,不是针对某一个副本而言。强一致性(strong consistency):任何时刻任何用户或节点都可以读到最近一次成功更新的副本数据。强一致性是程度最高的一致性要求,也是实践中最难以实现的一致性。单调一致性(monotonic consistency):任何时刻,任何用户一旦读到某个数据在某次更新后的值,这个用户不会再读到比这个值更旧的值。
376 0
|
3月前
|
存储 消息中间件 缓存
redis的缓存机制
redis的缓存机制
86 0
|
3天前
|
存储 缓存 NoSQL
缓存、分布式缓存和持久化
这篇内容介绍了缓存的概念和Redis的作用,以口袋与公文包的比喻解释了缓存如何提高数据访问速度。Redis是一个内存中的高级缓存系统,能提升系统响应速度。接着讨论了为何需要分布式缓存,通过多个“篮子”(Redis节点)解决单点故障和性能瓶颈,保证高可用性和数据安全性。最后提到了Redis的两种持久化机制——RDB(定期数据快照)和AOF(记录写操作日志),分别用照片备份和实时同步来比喻,说明它们在数据丢失风险和恢复速度上的权衡。
|
5天前
|
XML 缓存 Java
MyBatis二级缓存解密:深入探究缓存机制与应用场景
MyBatis二级缓存解密:深入探究缓存机制与应用场景
26 2
MyBatis二级缓存解密:深入探究缓存机制与应用场景
|
9天前
|
缓存 NoSQL 数据库
关于高并发下缓存失效的问题(本地锁 && 分布式锁 && Redission 详解)
关于高并发下缓存失效的问题(本地锁 && 分布式锁 && Redission 详解)
25 0
|
1月前
|
存储 缓存 算法
深入探究LRU缓存机制:优化内存利用与提升性能
深入探究LRU缓存机制:优化内存利用与提升性能
107 1
|
1月前
|
存储 缓存 Java
什么!?实战项目竟然撞到阿里面试的原题!???关于MyBatis Plus的缓存机制
什么!?实战项目竟然撞到阿里面试的原题!???关于MyBatis Plus的缓存机制
|
1月前
|
存储 缓存
本地缓存和分布式缓存区别
【2月更文挑战第16天】
33 2
本地缓存和分布式缓存区别

热门文章

最新文章