`
lvwenwen
  • 浏览: 955479 次
  • 性别: Icon_minigender_1
  • 来自: 魔都
社区版块
存档分类
最新评论

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型数据库),将数据保存在内存中,并定时向硬
盘中同步。

 

  • 大小: 32.5 KB
  • 大小: 72.9 KB
分享到:
评论

相关推荐

    Memcached内存分配与SLAB机制

    ### Memcached内存分配与SLAB机制 #### 第1章 前言 本文将深入探讨Memcached中的内存分配原理及SLAB机制的核心概念。...对于想要深入了解Memcached内部实现的读者来说,建议参考源代码以获得更全面的理解。

    Memcached缓存机制 用好Cache,优化应用

    1. **源码阅读**:深入理解Memcached的源码有助于开发者更好地掌握其工作原理,从而在使用过程中做出更合适的优化决策。 2. **监控工具**:如`mcstat`或自定义监控脚本,可以实时监控Memcached的性能指标,包括命中...

    Memcached存储机制 测试

    下面我们将深入探讨Memcached的存储机制。 1. **数据结构与存储** Memcached采用哈希表作为基本的数据结构,每个键值对由键(key)和值(value)组成。键是唯一的标识符,而值可以是任意类型的数据,如字符串、...

    深入理解redis_memcached失效原理(小结)

    本文主要讨论了这两种技术的缓存失效原理,特别是针对 Redis 的失效机制进行了深入解析。 首先,我们要明白如何触发 key 的失效。Redis 中,除了使用 `PERSIST` 命令撤销 key 的失效时间之外,以下几种情况也会导致...

    memcached-1.5.11.tar.gz

    《深入理解Memcached:基于1.5.11版本的剖析》 Memcached,一个高性能、分布式的内存对象缓存系统,广泛应用于Web应用中,用于减轻数据库的负载,提高数据访问速度。本文将深入探讨Memcached的1.5.11版本,解析其...

    memcached全面剖析.pdf

    ### Memcached全面剖析 #### memcached概述与基本概念 **memcached**是一种高性能的分布式内存对象缓存系统,主要用于缓解...通过对memcached的深入理解,开发者可以更好地利用其功能来构建高效稳定的应用程序。

    memcached-1.5.4

    总结,`memcached-1.5.4`是实现高效缓存的关键组件,其源码的阅读与编译有助于深入理解内存缓存的工作原理,优化Web应用性能。通过熟悉`memcached`的配置、运行以及与其他技术的集成,开发者可以更好地利用此工具来...

    memcached-笔记资料

    【标题】"memcached-笔记资料"涉及到的核心知识点是分布式内存缓存系统——Memcached,它是一个高性能、轻量级的缓存...学习者可以通过这些材料深入理解Memcached的工作机制,提升在实际项目中运用分布式缓存的能力。

    memcached工具类源码

    这里我们将深入探讨解压后的"memcached工具类源码"及其相关知识点。 1. **Memcached基础概念** - **内存存储**:Memcached基于内存进行数据存储,这意味着它的读取速度非常快,但同时也意味着数据不持久化,如果...

    memcached-1.4.0-rc1.tar.gz

    本文将深入探讨memcached 1.4.0 release candidate 1 (rc1)版本的源代码,解析其核心机制,并分享相关的应用实践。 一、memcached概述 Memcached设计的目标是简化数据存储,提供快速、简单但有效的缓存解决方案。...

    Memcached缓存技术资料源码

    提供的PPT可能包含Memcached的介绍、使用案例、性能优化策略等内容,对于深入理解和应用Memcached非常有帮助。通过图解和实例,可以直观地了解Memcached在实际项目中的应用场景和效果。 总结,Memcached作为一款轻...

    memcached+asp.net4.0

    8. **故障排查**:可能出现的问题包括连接失败、缓存不一致或数据丢失,需要了解如何查看memcached的日志,调试客户端代码,以及如何配置错误处理机制。 9. **最佳实践**:包括如何设计键值对以便于管理和查找,...

    memcached缓存

    本文将深入探讨memcached与Java的结合使用,以及在Windows和Linux环境下的安装步骤。 **1. memcached的基本概念** - **分布式缓存**:memcached是一种分布式缓存解决方案,它可以将数据分散存储在多台服务器上,...

    Memcached_程序与php中应用

    **Memcached程序与PHP中的应用** Memcached是一种高性能的分布式内存对象缓存系统,用于减少数据库负载,提高...同时,配合`学习文档Url.txt`中的指南,开发者可以更深入地理解和掌握Memcached在实际项目中的应用。

    memcached1.4.5源代码

    通过深入研究`memcached1.4.5`的源代码,我们可以了解到分布式缓存系统的内部运作机制,这对于理解和优化类似系统、开发自己的内存缓存服务有着极大的价值。同时,这也有助于提升对网络编程、内存管理和并发处理的...

    Memcached封装库

    Memcached封装库提供了简单的配置选项,这意味着开发者无需深入了解Memcached底层的工作机制,只需几步简单的设置,就可以实现缓存功能。例如,`默认服务器.aspx`和`指定服务器.aspx`可能是两个示例页面,展示了如何...

Global site tag (gtag.js) - Google Analytics