`
BabyDuncan
  • 浏览: 584263 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于memcached

 
阅读更多

Memcached的原理和使用介绍

介绍:

Memcached是国外社区网站LiveJournal的技术团队开发的高性能分布式内存缓存服务器。

使用目的:

memcached的一般使用目的就是缓存数据库查询结果,减少对数据库的访问次数,以提高动态web应用的速度,提高可扩展性。

memcached运行图:


memcached介绍:

谁在使用memcached:

Yahoo,FaceBook,Twitter,MIXI以及wiki百科等国外公司。

国内公司有:

搜狐微博,人人网,赶集网,新浪网等。

 

与Memcached相似的产品都有哪些:

tokyo Cabinet  日本鬼子的产品

 

MemcacheDB 新浪开发的产品

 

sohutw—memcached 搜狐微博的产品

 

BeansDB  豆瓣的产品

 

tmcached 黑夜路人的产品

 

memcached的主要特点:

基于CS架构,协议简单。

基于libEvent的事件处理。

自主内存存储处理。

基于客户端的memcached分布式。

 

数据存储方式:

1,Slab Allocation

Slab Allocation的方法比较简单,就是按照预先规定的大小,将申请的内存分割成特定大小的块,已解决内存碎片的问题。

其原理就是 将分配的内存分割成各种尺寸的块(chunk),然后把相同尺寸的块组成组(chunk 集合)。



 术语表:

Page:分配给slab的内存空间,默认是1Mb,分配给slab之后根据slab的大小切分chunk。

chunk:用于缓存数据的空间。

slab class:chunk的组。很多大小相同的slab组成的chunk。

 

Slab Allocation的缺点:

由于chunk的大小是固定的,如果128k的chunk存放100k的数据,那么28k的空间就浪费了。

 

数据过期的方式:

1,lazy Expiration:memcached不会监视记录是否过期,而是在get数据的时候检查数据的时间戳,看是否过期。因此memcached不会再监视数据是否过期上面耽误cpu的时间。

2,LRU 。Least Recently Used,最近最少使用的空间会在空间不足的情况下被释放,让给新数据。

 

基于客户端的memcached分布式:



 根据key值获得key在内存中的地址,*Key++%totalServer = n,n为服务器集群代号为n的机器,把key值存放在此台机器上。从此写入和读取都从这台机器上操作。


 

  • 大小: 35.7 KB
  • 大小: 44 KB
  • 大小: 36 KB
  • 大小: 74.7 KB
分享到:
评论

相关推荐

    php5.2.17关于memcached1.4.3及php_memcache扩展

    首先,Memcached 1.4.3是Memcached的稳定版本,它提供了高速的数据存储和检索功能,适用于快速读取大量数据的场景。此版本同时支持32位和64位操作系统,这意味着无论你的服务器架构如何,都可以顺利地部署和使用。在...

    memcached1.5.6.rar

    **标题解析:** "memcached1.5.6.rar" 这个标题表明这是一个关于memcached软件的压缩包,具体版本是1.5.6。memcached是一个高性能、分布式的内存对象缓存系统,常用于减轻数据库负载,提高Web应用性能。 **描述解读...

    memcached-1.5.12.tar.gz

    以下是关于 memcached 的详细介绍,以及在 Linux 环境下的安装步骤。 1. **memcached 简介**: - memcached 是由 Danga Interactive 开发的开源软件,最初为 LiveJournal 服务设计,现在广泛应用在各种 Web 应用中...

    memcached-笔记资料

    【描述】"memcached-笔记资料"暗示了本资料主要包含关于Memcached的使用、配置、优化和实践经验,可能涵盖了基础概念、安装步骤、命令行操作、最佳实践等多方面的内容。 【标签】"memcached"明确指出了讨论的主题,...

    memcached(十一)memcached-session-manager

    "memcached(十一)memcached-session-manager" 这个标题指的是一个关于memcached缓存系统与session管理的系列教程的第十一部分。在这个教程中,重点可能是如何使用memcached来存储和管理Web应用中的session数据,以...

    java连接memcached示例代码

    Java连接Memcached是一种常见的缓存操作,特别是在处理大数据量或者需要快速响应的Web应用程序中。Memcached是一款高性能、分布式内存对象缓存系统,用于减轻数据库负载,提高网站性能。下面我们将详细探讨如何在...

    tomcat8+memcached共享session(套装)

    "memcached较全面介绍.docx"可能是关于Memcached的基础教程,包括它的安装、使用和优势;"Nginx+Tomcat+Memcached部署.docx"则可能详细说明了如何在Nginx反向代理下,结合Tomcat和Memcached进行部署,以实现Session...

    查看、分析memcached使用状态

    通过 Telnet 连接到 Memcached 服务器并执行 `stats` 命令,可以获取一系列关于 Memcached 实例的关键信息,包括: 1. **pid**:进程ID,显示 Memcached 服务的运行状态。 2. **uptime**:服务自启动以来的时间,...

    memcached全面剖析(入门到精通)

    关于memcached的数据删除机制,它采用了一种称为LazyExpiration的策略,即不会立即删除过期数据,而是等到空间不足需要重新使用时才会清理。此外,memcached支持使用最近最少使用(LRU)策略来有效删除缓存数据,以...

    memcached UI Setup

    2. **安装** - 表示这个话题是关于memcached的安装过程,可能包括下载、配置、启动和测试服务等步骤。 **压缩包子文件的文件名称列表:** 1. **memcacheSetup.exe** - 这很可能是安装程序文件,用户双击运行后可以...

    memcached-1.4.24.tar.gz 下载

    - **memcached**:强调了这个压缩包是关于memcached的,是一个内存缓存系统。 - **缓存**:指出memcached的主要功能是作为缓存系统,用于提高数据访问速度。 综上所述,这个压缩包提供了一个在Linux环境下安装和...

    缓存服务器memcached代码及使用文档

    如果你在使用过程中遇到问题,可以访问提供的链接:[江哥技术博客](http://www.0817home.com/),寻求江哥的帮助,他可能有更多关于Memcached的深入讲解和技术支持。 总结来说,Memcached是一个强大的缓存解决方案,...

    Nagios-Plugins-Memcached-0.02.tar.gz

    总之,"Nagios-Plugins-Memcached-0.02.tar.gz"是一个对Memcached服务器进行性能监控的Nagios插件,通过集成它,你可以获得关于Memcached内存使用、连接状态等重要信息的实时反馈,以便更好地管理和维护你的Web应用...

    memcached 在ASP.NET网站下的应用实例代码(c#)

    3. **Web.config**: 配置文件,可能会包含关于memcached连接配置的信息,如服务器地址、端口、默认缓存过期时间等。 4. **MemeCache.aspx.cs**: 与MemeCache.aspx对应的后台代码文件,包含了具体的C#逻辑,如添加、...

    memcached 1.4.20 linux 安装包

    如果一切正常,你应该能看到关于 Memcached 的统计信息。 6. **应用集成** 最后,你可以将 Memcached 集成到你的 PHP、Python、Java 或其他语言的应用程序中,利用其缓存功能提高性能。 通过以上步骤,你就成功...

    Memcached源码剖析笔记

    ### Memcached源码剖析知识点详解 #### 一、背景与概述 **Memcached** 是一款高性能的分布式内存对象缓存系统...关于 Memcached 的更多细节和技术文档,请参考官方文档和其他技术资料,以获取最新的信息和技术支持。

    win7 32位 memcached工具

    "memcached"表示这是关于Memcached的讨论,"php5.4.7"则指出该资源适用于较旧版本的PHP,即5.4.7。对于使用旧版PHP环境的开发者来说,这样的资源尤为宝贵,因为新版本的PHP可能不再支持某些旧的扩展。 【压缩包子...

    memcached_functions_mysql

    标题中的"memcached_functions_mysql"暗示了我们讨论的是关于Memcached在MySQL环境中的使用,特别是与MySQL相关的函数。Memcached是一种高性能的分布式内存对象缓存系统,常用于加速动态Web应用,通过在内存中存储...

Global site tag (gtag.js) - Google Analytics