分布式缓存-Memcache定义

Memcache 是一款开源的高性能的分布式内存对象缓存系统,用于在应用中减少对数据库的访问,提高应用的访问速度,降低数据库负载。

为了在内存中提供高速的数据查找能力,Memcache使用Key-value的形式存储和访问数据,在内存中维护了一张巨大的HashTable,是的对数据的查找的时间复杂度降低到了O(1),保证了对数据的高速访问。

由于内存的大小是有限的,当内存中没有过多的空间来存储新的数据时,Memcache会使用LRU(Least Recently Used)算法,将最近最少未使用的数据淘汰掉,以腾出空间来存放新的数据。

Memcache客户端与服务端通过构建在TCP协议之上的memcache协议来进行通信,协议支持两种数据传递、这两种数据分别是文本行和非结构化数据。

文本行:主要用来承载客户端的命令及服务端的响应。

非机构化数据:主要用于客户端和服务端数据的传递。

Memcache本身并不是一种分布式的缓存系统,他的分布式主要是由访问他的客户端来实现的。

时间: 2024-11-03 21:45:38

分布式缓存-Memcache定义的相关文章

php5.4之分布式缓存memcache(windows7下安装配置)

一.安装memcache memcached在windows7上的安装问题 现在安装包:http://www.jb51.net/softs/44843.html   memcache的安装包 错误: 通过cmd命令行进入到D:\webEve\memcached(下载后的解压目录) 运行 memcached.exe -d install 报错" failed to install service or service already installed" 解决方法: www.2cto.c

分布式缓存Memcache和Redis

引言 针对于现在计算机的CPU和网络设施,对应用程序来说,执行效率的瓶颈,已经不是代码的长度(实现同一个功能)和带宽了,而是,代码访问资源的过程,即:让我们的程序慢下来的罪魁祸首就是IO操作. 程序从硬盘上读取数据是一个非常花费时间的操作,因为我们现在所使用的硬盘是机械式的,你想机械的运行速度和电的速度,那是一个级别上的选手吗? 为了解决程序的瓶颈,人们提出了一种想法:使用空间换取时间.程序访问硬盘用的时间长,那就让数据放到内存中,让程序访问内存,这样不就节省了时间.这样确实剩下了我们程序获取数

83-高性能,分布式缓存memcache简析

一. memcached简介 memcached is a high-performance, distributed memory object caching system, generic in nature, but intended for use in      speeding up dynamic web applications by alleviating database load. (由 LiveJournal旗下的Danga Interactive研发) #高性能,分布

分布式缓存——memcache原理

内容:1.什么是Memcached 2.MemCache和MemCached的区别 3.memcache访问模型 4.Memcached作为高速运行的分布式缓存服务器具有以下特点 5.Memcached的内存算法 6.Memcached的缓存策略             7.分布式算法(Consistent Hashing)             8. MemCache的特性和限制总结 1.什么是Memcached        MemCache是一个自由.源码开放.高性能.分布式的分布式内存

分布式缓存系统-定义

分布式缓存主要用于高并发环境下,减轻数据库压力,提高系统的响应速度和并发吞吐. 当大量的读写请求涌向数据库时,磁盘的处理速度与内存显然不在同一个量级,因此,在数据库之前加一层缓存,能够显著的提高系统的响应速度,并降低数据库压力. 由于单台机器的内存资源和承载能力有限,并且如果大量使用本地缓存,也会导致相同的数据在不同的节点存储多份,对内容资源造成较大的浪费,因此才催生出了分布式缓存. 在大型网站中.缓存主要用来保存热点数据,用以减轻数据库压力,或者保存应用程序上下文相关信息.比如大型网站中的se

分布式缓存Memcache

Memcached是分布式的,也就是说它不是本地的.它基于网络连接(当然它也可以使用localhost)方式完成服务,本身它是一个独立于应用的程序或守护进程(Daemon方式). Memcached使用libevent库实现网络连接服务.libevent是个程序库,它将Linux的epoll.BSD类操作系统的kqueue等事件处理功能封装成统一的接口.即使对服务器的连接数增加,也能发挥O(1)的性能. Memcached是“分布式”的内存对象缓存系统,那些不需要“分布”的,不需要共享的,或者干

分布式缓存Memcache学习笔记

Memcache的使用 使用Memcache的网站一般流量都是比较大的,为了缓解数据库的压力,让 Memcache作为一个缓存区域,把部分信息保存在内存中,在前端能够迅速的进行存取.那么一般的焦点就是集中在如何分担数据库压力和进行分布式,毕竟单台Memcache的内存容量的有限的.我这里简单提出我的个人看法,未经实践,权当参考. 分布式应用 Memcache本来支持分布式,我们客户端稍加改造,更好的支持.我们的key可以适当进行有规律的封装,比如以user为主的网站来说,每个用户都有User I

memcache 分布式缓存

转载地址:http://www.cnblogs.com/phpstudy2015-6/p/6713164.html 作者:那一叶随风 1.memcached分布式简介 memcached虽然称为"分布式"缓存服务器,但服务器端并没有"分布式"功能.Memcache集群主机不能够相互通信传输数据,它的"分布式"是基于客户端的程序逻辑算法进一步实现的. 请看下面简图: 根据上图我们简述分析分布式memcached的set与get的过程 set过程:

分布式缓存之 memcache 实现分布式缓存

最近想搞点分布式,但是不知道整点什么,来点简单的吧. 今天讲下memcache的分布式缓存 首先下载memcache的服务器端 百度下可以找到 然后执行安装和开启(关闭服务器)命令(还有其他的命令 可以百度下) memecached -d instal memcached -d start(stop) 然后我们用vs建个console项目 用nuget 下载memcache的c#调用驱动 当然有一些驱动,我选择的是EnyimMemcached github开源地址为:https://github