`
hqman
  • 浏览: 358540 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

memcached不是什么

阅读更多

         Memcached是danga.com(运营LiveJournal的技术团队)开发的一套分布式内存对象缓存系统, 用于在动态系统中减少数据库负载,提升性能。关于这个东西,相信很多人都用过,本文意在通过对memcached的实现及代码分析,获得对这个出色的开源 软件更深入的了解,并可以根据我们的需要对其进行更进一步的优化。末了将通过对BSM_Memcache扩展的分析,加深对memcached的使用方式 理解。

 Memcached是什么,不是什么?

   在 阐述这个问题之前,我们首先要清楚它"不是什么"。很多人把它当作和SharedMemory那种形式的存储载体来使用,虽然memcached使用了同 样的"Key=>Value"方式组织数据,但是它和共享内存、APC等本地缓存有非常大的区别。Memcached是分布式的,也就是说它不是本 地的。它基于网络连接(当然它也可以使用localhost)方式完成服务,本身它是一个独立于应用的程序或守护进程(Daemon方式)。

   Memcached 使用libevent库实现网络连接服务,理论上可以处理无限多的连接,但是它和Apache不同,它更多的时候是面向稳定的持续连接的,所以它实际的并 发能力是有限制的。在保守情况下memcached的最大同时连接数为200,这和Linux线程能力有关系,这个数值是可以调整的。关于 libevent可以参考相关文档。 Memcached内存使用方式也和APC不同。APC是基于共享内存和MMAP的,memcachd有自己的内存分配算法和管理方式,它和共享内存没有 关系,也没有共享内存的限制,通常情况下,每个memcached进程可以管理2GB的内存空间,如果需要更多的空间,可以增加进程数。

分享到:
评论

相关推荐

    memcached使用最佳实践(英文版)

    #### 1.2 Memcached不是什么? Memcached并非一个数据库或持久化存储解决方案,而是一个缓存层,其设计初衷是为了缓解数据库的读取压力。它不提供事务支持、数据完整性检查或持久化存储功能,而是侧重于快速数据...

    using memcached

    #### 三、Memcached不是什么? 理解Memcached的功能边界对于正确使用它至关重要。Memcached不是持久化存储解决方案,这意味着存储在Memcached中的数据是暂时性的,一旦服务器重启或关闭,所有数据都将丢失。因此,...

    memcached windows稳定版

    -M 内存耗尽时返回错误,而不是删除项 -c 最大同时连接数,默认是1024 -f 块大小增长因子,默认是1.25 -n 最小分配空间,key+value+flags默认是48 -h 显示帮助 Memcache环境测试: 运行下面的php文件,如果有...

    memcached-1.5.4

    - 配置文件通常不是必须的,但可以通过`-C`选项指定配置文件,自定义设置如超时时间、 slab 分区等。 - 可以使用`telnet`或`mc-client`工具与`memcached`交互,进行数据的增删查改。 5. **slab分配机制** - `...

    memcached工具类源码

    它通过将数据和对象存储在服务器的内存中,而不是每次请求时都查询数据库,从而显著提高了读取速度。这里我们将深入探讨解压后的"memcached工具类源码"及其相关知识点。 1. **Memcached基础概念** - **内存存储**...

    memcached for win32

    MemCached For Win32 服务器 -p 监听的端口 ...-M 内存耗尽时返回错误,而不是删除项 -c 最大同时连接数,默认是1024 -f 块大小增长因子,默认是1.25 -n 最小分配空间,key+value+flags默认是48 -h 显示帮助

    memcached整合hibernate资源合集

    而Hibernate则是一个Java持久化框架,它简化了数据库与Java对象之间的交互,使得开发人员能够更专注于业务逻辑而不是数据库操作。 在“memcached整合hibernate资源合集”中,我们可以找到如何将这两者结合使用以...

    Memcached实例与文档

    这种设计使得Memcached适合于处理大量的小数据项,而不是大数据块。 二、Memcached实例 Memcached实例是指在服务器上部署并运行的Memcached服务。创建和管理Memcached实例通常包括以下几个步骤: 1. 安装:在Linux...

    memcached tomcat 共享session

    4. **编程接口**:在应用代码中,可能需要适当地处理Session操作,确保Session创建、读取、更新和删除(CRUD)操作通过memcached客户端进行,而不是直接调用默认的Tomcat Session API。 5. **测试和优化**:在部署...

    Memcached 1.2.1.0 For Windows

    安装服务方法(也可直接双击启动): ...-M 内存耗尽时返回错误,而不是删除项 -c 最大同时连接数,默认是1024 -f 块大小增长因子,默认是1.25 -n 最小分配空间,key+value+flags默认是48 -h 显示帮助

    memcached管理session资源

    MSM(Memcached_Session_Manager)是一个基于Java的Memcached会话管理器,它允许我们将Web应用的session数据存储在Memcached服务器上,而不是传统的保存在服务器的内存中或者硬盘上的session文件。这样,即使服务器...

    memcached-win-32/64-1.4.4-14

    默认64MB -M 内存耗尽时返回错误,而不是删除项 -c 最大同时连接数,默认是1024 -f 块大小增长因子,默认是1.25 -n 最小分配空间,key+value+flags默认是48 -h 显示帮助 Memcache环境测试: 运行下面的php文件,如果...

    Memcached 客户端 服务端 管理工具

    - **数据序列化/反序列化**:如果需要存储的对象不是字符串,客户端可能需要进行序列化和反序列化操作。 - **错误处理**:处理与服务端通信时可能出现的网络错误、超时等问题。 ### 3. Memcached管理工具 为了方便...

    memcached+tomcat的session共享

    实现"memcached+tomcat的session共享"的基本思路是:将Tomcat的session数据存储到memcached服务器上,而不是默认的本地内存或硬盘。这样,无论用户请求被路由到集群中的哪台Tomcat服务器,都可以从memcached中获取到...

    Memcached 1.4.13(Windows 32/64)最新稳定版

    memcached是一套分布式的快取系统,是一套开放源...-M 内存耗尽时返回错误,而不是删除项 -c 最大同时连接数,默认是1024 -f 块大小增长因子,默认是1.25 -n 最小分配空间,key+value+flags默认是48 -h 显示帮助

    memcached windows最新版本

    它通过将数据存储在内存中来加速读取操作,而不是频繁地从硬盘上读取,从而显著提升了应用程序的性能。`memcached`最初是为Linux环境设计的,但随着其流行度的增长,也有了针对Windows平台的版本。 **1. memcached ...

    memcached配置

    - `-M` 当内存耗尽时返回错误,而不是删除条目。 - `-c` 最大并发连接数,默认为1024。 - `-f` 块大小增长因子,默认为1.25。 - `-n` 最小分配空间,包括key、value和flags,默认为48字节。 - `-h` 显示帮助信息。 ...

    memcached协议中文版

    - **连接缓存**:为了提高性能,建议缓存连接而不是每次都建立新连接。 ##### 2. 数据类型 Memcached处理的数据分为两类: - **文本行**:用于发送命令或接收服务器响应。 - **非结构化数据**:用于存储和检索的...

    memcached-2.1.0.tgz

    - **memcache** - 这是另一种PHP扩展,虽然不是这个压缩包的主题,但提及表明了与memcached扩展的区别。 **压缩包子文件的文件名称列表解析:** - `package.xml` - 这通常是构建系统或者包管理器使用的配置文件,...

Global site tag (gtag.js) - Google Analytics