Memcached 简介

一、Memcached 简介

如下图,当我们去访问一个 Web 站点,这台 Web 服务器会从数据库上读取数据并呈现给用户,如果没有 Memcached,那么用户每访问一次,Web 服务器就需要从数据库上读取数据,如果用户量很大,显然效率很低;有了 Memcached 之后,会把读取的数据(也就是存放在物理内存中的数据)以 key-value 形式缓存到 Memcached 自身开辟的内存中,当用户再次访问的时候就直接返回 Memcached 内存中的数据了,因此,Memcached(Memory Cached,内存缓存) 是一个内存对象缓存系统,能够缓存内存中的数据,但跟物理内存一样,机器一重启,缓存的数据就会丢失。

二、Memcached 内存管理机制

Memcached 会把物理内存中的数据以 key-value 形式缓存到 Memcached 自身开辟的内存中,至于划分多少物理内存给 Memcached,需要我们在启动 Memcached 的时候进行分配。Memcached 使用 Slab Allocator 机制来管理我们分配给它的物理内存,如下,Memcached 将我们分配给它的物理内存以 Page 为单位,默认情况下一个 Page 是 1M,一个 Page 分割成各种尺寸的块(Chunk), 并把尺寸相同的块分成组(Slab Class),即一个 Slab Class 包含了多个 Page,可以看出每个 Slab Class 负责管理的内存大小是不一样的,每个 Slab Class 只存储大于其上一个 Slab Class 的 size 并小于或者等于自己最大 size 的数据,实现最优的存储。如果分配给 Memcached 的物理内存存满了,则会根据 LRU 算法来删除缓存中的数据,也就是最近最少使用原则,最近一段时间来,哪一个数据基本完成没有被使用过,则就清除掉这个数据,然后让新数据放到里面。当然,我们也可以手动指定数据存储到 Memcached 的过期时间。

原文地址:https://www.cnblogs.com/pzk7788/p/10459697.html

时间: 2024-11-10 14:50:44

Memcached 简介的相关文章

memcached简介

memcached简介: memcached是一款开源.高性能.分布式内存对象缓存系统,可应用各种需要缓存的场景,其主要目的是通过降低对Database的访问来加速web应用程序.它是一个基于内存的"键值对"存储,用于存储数据库调用.API调用或页面引用结果的直接数据,如字符串.对象等. memcached是以LiveJournal旗下Danga Interactive 公司的Brad Fitzpatric 为首开发的一款软件.现在已成为mixi.hatena.Facebook.Vox

分布式缓存BeIT Memcached简介

分布式缓存BeIT Memcached简介 或许你还没有用到过分布式缓存,在web集群的情况下,它可以很好的让一部分常用数据常驻服务器内存而不用担心各台web不同步.下面稍微介绍一下beitmemcached对于.net的支持,官方参考http://code.google.com/p/beitmemcached/ 一个完整的操作步骤:1.点击上面页面的downloads,把Memcached_1.2.5.zip 和BeITMemcached_source_2008_05_31.zip两个压缩包下

缓存之Memcached简介

前言 前篇简单较少了EnCache,本篇将介绍Memcached,之后还会将两者进行对比. 正题 一.简介 Memcached是高性能的分布式内存缓存服务器.一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度.提高可扩展性. Memcached为key->value非关系型数据库,key为一般字串,值唯一.value除了php中的资源不能存,其它的数据都能存储(字符串.数值.数组.对象.布尔值.null.二进制<图片.视频>) 二.提速方法: 1.传

memcached简介及java使用方法(转)

原:http://blog.csdn.net/seelye/article/details/8511073 一. 概念 Memcached是danga.com(运营LiveJournal的技术团队)开发的一套分布式内存对象缓存系统,用于在动态系统中减少数据库负载,提升性能. 二. 适用场合 1. 分布式应用.由于memcached本身基于分布式的系统,所以尤其适合大型的分布式系统. 2. 数据库前段缓存.数据库常常是网站系统的瓶颈.数据库的大并发量访问,常常造成网站内存溢出.当然我们也可以使用H

memcached简介与安装【网络摘抄】

memcached是什么? memcached是以LiveJournal 旗下Danga Interactive公司的Brad Fitzpatric 为首开发的一款软件.现在已成为mixi . hatena. Facebook . Vox .LiveJournal等众多服务中提高Web应用扩展性的重要因素. 许多Web应用都将数据保存到RDBMS中,应用服务器从中读取数据并在浏览器中显示.但随着数据量的增大.访问的集中,就会出现RDBMS的负担加重.数据库响应恶化.网站显示延迟等重大影响. 这时

分布式缓存系统Memcached简介与实践

缘起: 在数据驱动的web开发中,经常要重复从数据库中取出相同的数据,这种重复极大的增加了数据库负载.缓存是解决这个问题的好办法.但是ASP.NET中的虽然已经可以实现对页面局部进行缓存,但还是不够灵活.此时Memcached或许是你想要的. Memcached是什么?Memcached是由Danga Interactive开发的,高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度. Memcached能缓存什么?通过在内存里维护一个统一的巨大的hash表,Memc

(一)memcached 简介

什么是memcached? memcached是一个高性能的分布式内存对象缓存系统,用于动态web应用以减轻数据库负载.它通过内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库网站的速度.memcached基于一个存储键/值对的hashmap. 在使用过程中,发现memcached和Hibernate的查询缓存作用相当,都是把查询频繁的数据并且更新不频繁的数据放到内存中,然后每次读取的时候,从内存中读取,这样就增加了访问效率.类似于cpu的高速缓存. 也就是说你不用去离家远的大超市

【memcache】Memcached

一.Memcached 简介 1. 官网:http://www.memcached.org 2. Memcached是一个自由开源的,高性能,分布式内存对象缓存系统. 二.作用: 1. 将数据存入内存,需要的时候从内存读取. 2. 一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度.提高可扩展性. 3. 原理,如果有缓存,就读取缓存,如果没有,就读取 数据库. 三.安装 linux 安装 1. 安装libevent 官方网站 http://libevent.

Key/Value之王Memcached初探:二、Memcached在.Net中的基本操作

一.Memcached ClientLib For .Net 首先,不得不说,许多语言都实现了连接Memcached的客户端,其中以Perl.PHP为主. 仅仅memcached网站上列出的语言就有:Perl.PHP.Python.Ruby.C#.C/C++以及Lua等. 那么,我们作为.Net码农,自然是使用C#.既然Memcached客户端有.Net版,那我们就去下载一个来试试. 下载文件:http://pan.baidu.com/s/1w9Q8I memcached clientlib项目