`
javayestome
  • 浏览: 1059484 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论
阅读更多

一、MemCached是什么?

MemCached是一个免费、开源、高性能、分布式、基于内存的对象缓存系统。一般来说,使用MemCached可以加速动态web程序(通过缓解数据库负载)。它可以key-value(String,Object)形式,存储任意数据,如数据库调用结果、API调用结果等。

MemCached主要由4部分组成:
1. 客户端软件,记录了所有有效MemCached服务器信息;
2. 一个基于客户端的hash算法,输入的key通过该算法找出特定MemCached服务器;
3. 服务器软件,在一个内部hash表中存储key-value;
4. 服务器算法,该算法决定何时请出旧数据以及重用内存。

MemCached的设计理念:
1. 简单Key/Value存储(每条记录包括一个key、一个原生value值、一个过期时间、一个可选的flag),并且不关心Value的类型,可以存放任意数据类型;
2. 逻辑分别放在客户端与服务器端;
3. 服务器端彼此无感知;
4. 所有操作时间复杂度为O(1);
5. 到期数据自动过期,释放出内存为其它应用使用。

理解误区:
不要理解为使用了MemCached会使程序跑得更快,MemCached只是一个开发工具,而不是代码加速器,或者可以理解为数据库中间件,MemCached会减少你与数据库的交互时间,从而感觉上是代码"变快"了。

二、MemCached架构图

项目主项:http://code.google.com/p/memcached/

分享到:
评论

相关推荐

    java使用Memcached简单教程

    ### Java使用Memcached简单教程 #### 一、简介 Memcached是一个高性能的分布式内存对象缓存系统,通过减轻数据库负载来加速动态Web应用,提高网站的浏览速度。它通过在内存中缓存数据和对象来减少读取数据库的次数...

    Memcached 简单示例

    下面我们将详细介绍使用C#实现Memcached的步骤: 1. **安装库**:首先,你需要通过NuGet包管理器在你的C#项目中安装Enyim.Caching或StackExchange.Redis。例如,使用NuGet命令行,你可以输入`Install-Package Enyim...

    memcached简单封装

    在开发过程中,我们常常需要对Memcached进行简单的封装,以便于在项目中更加方便地使用。封装通常包括以下几个步骤: 1. **安装和配置**:首先确保系统中已经安装了Memcached服务,并且服务运行正常。这通常涉及到...

    memcached安装包以及MemCachedClient

    Memcached 使用简单,可移植性强,广泛应用于多种编程语言环境。 **1. 安装 Memcached** 首先,你需要下载 Memcached 的源码包或预编译二进制包。在Unix/Linux系统中,通常通过包管理器如`apt-get`(Ubuntu/Debian...

    memcached可视化工具

    该工具由PHP编写而成,可以方便地查看Memcached的运行状态、统计信息等,并且支持简单的管理操作。通过使用memadmin,用户可以更直观地了解Memcached的使用情况,及时发现并解决潜在的问题。 #### 三、在Windows 10...

    memcached java简单实例

    **标题:“memcached java简单实例”** 在Java开发中,我们常常会遇到缓存的需求,以提高应用程序的性能。Memcached是一款高效的分布式内存对象缓存系统,它能够将数据存储在内存中,从而减少对数据库的访问。这篇...

    php memcached安装文档以及Memcached扩展

    本文将详细介绍如何在PHP环境中安装并配置Memcached扩展。 ### 一、Memcached安装 1. **下载Memcached**:首先,你需要从官方网站获取最新版的Memcached源码,或者在Windows环境下,可以直接下载编译好的`...

    memcached-1.5.4

    本文将详细介绍`memcached-1.5.4`版本的源码特点、编译过程以及相关知识。 1. **memcached简介** - `memcached`的核心设计理念是简单而高效,提供了一个键值对存储的接口,支持多线程服务,使用libevent库处理网络...

    linux下memcached安装

    本文将详细介绍如何在Linux系统上安装和配置Memcached。 **1. 更新系统** 在安装任何新软件之前,我们需要确保系统是最新的。打开终端并运行以下命令来更新你的Linux发行版: ```bash sudo apt-get update sudo ...

    Memcached学习笔记 — 第四部分:Memcached Java 客户端-gwhalin(1)-介绍及使用

    本篇学习笔记将重点介绍如何在Java环境中使用gwhalin提供的Memcached客户端进行开发。gwhalin的Memcached Java客户端是一个轻量级、高性能的库,使得Java开发者可以轻松地与Memcached服务器进行交互。 ### 一、...

    memcached的介绍和使用.docx

    Memcached 在 Linux 系统中广泛使用,可以通过简单的命令行接口进行管理。 安装 Memcached 需要先安装依赖包,例如 `libevent` 和 `libevent-devel`。接着,可以从其官方网站下载最新源代码,解压缩并编译安装。在...

    PHP内存缓存技术memcached 的安装和工作原理介绍

    启动memcached守护程序非常简单,只需要运行包含特定参数的命令行: ```bash /usr/bin/memcached -d -m 128 -l 192.168.1.1 -p 11211 -u httpd ``` - `-d` 使memcached以守护进程模式运行。 - `-m 128` 设置分配给...

    memcached完全剖析

    1. **协议简单**:memcached使用简单的文本协议,易于实现和扩展。 2. **基于libevent的事件处理**:libevent是用于高效网络服务器编程的事件驱动库。memcached采用libevent来进行事件处理,这使得它可以轻松处理...

    windows memcached

    下面我们将详细介绍如何在Windows操作系统上安装和使用Memcached。 首先,下载并解压Memcached。你需要找到适用于Windows的Memcached版本,通常为.zip格式。解压缩后,你会得到一个包含可执行文件`memcached.exe`的...

    Memcached缓存技术资料源码

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

    memcached-1.5.12.tar.gz

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

    memcached实例

    使用 Memcached 存储数据非常简单,以下是一个简单的 Python 示例: ```python import pylibmc # 创建客户端连接 client = pylibmc.Client(["127.0.0.1"], binary=True, behaviors={"tcp_nodelay": True}) # 设置...

    Memcached——内存数据库讲义及安装步骤

    下面将详细介绍Memcached的相关知识点。 **1. 安装Memcached** 在不同的操作系统上,安装Memcached的方法有所不同: - **Ubuntu/Debian**: 使用`sudo apt-get install memcached`自动安装。 - **Redhat/Fedora/...

    memcached学习总结

    ### Memcached学习总结 ...通过以上介绍,我们可以了解到Memcached是一种高效、轻量级的缓存解决方案,尤其适合用在需要高速数据访问的应用场景中。虽然其功能相对单一,但在特定领域内的应用价值非常高。

    缓存memcached-1.2.1

    - **简单协议**:Memcached使用基于文本的简单协议,易于理解和实现,支持多种编程语言的客户端库。 2. **工作原理** - **缓存策略**:Memcached通常使用LRU(Least Recently Used)策略,当内存空间不足时,优先...

Global site tag (gtag.js) - Google Analytics