memcahced缓存特点

1、key-value数据结构

2、所有数据保存在内存中

3、可以分布式集群

4、处理并发的机制是libevent事件机制

5、当内容容量达到指定值后,就基于LRU(Least Recently Used)算法自动删除不使用的缓存,再添加新的数据。 LRU---最早使用时间

6、当关闭memcache服务时,memcache存储的所有数据都会丢失

7、分布式的memcache服务集群,各服务间不互相通信的,即添加1条数据到memcache集群服务中,是保存在其中一个memcache服务中,其他memcache服务是获取不到的,是通过hash算法来决定保存数据的位置,获取的时候也会通过hash算法得到

memcache的缺点:

1、数据保存在内存,当关闭服务或操作系统时,数据丢失

措施:修改源代码,定期向磁盘写入数据

2、memcache权限管理和认证功能,安全性不足

措施:可以通过内网访问memcache服务,外网通过防火墙来控制保护。

时间: 2025-02-01 09:09:46

memcahced缓存特点的相关文章

memcahced 更新

memcahc特性: 在 Memcached中可以保存的item数据量是没有限制的,只要内存足够 . Memcached单进程在32位系统中最大使用内存为2G,若在64位系统则没有限制,这是由于32位系统限制单进程最多可使用2G内存,要使用更多内存,可以分多个端口开启多个Memcached进程 , 最大30天的数据过期时间,设置为永久的也会在这个时间过期,常量REALTIME_MAXDELTA 60*60*24*30控制 最大键长为250字节,大于该长度无法存储,常量KEY_MAX_LENGTH

加速与缓存技术之Memcached

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

Memcached集群/分布式/高可用 及 Magent缓存代理搭建过程 详解

当网站访问量达到一定时,如何做Memcached集群,又如何高可用,是接下来要讨论的问题. 有这么一段文字来描述“Memcached集群” Memcached如何处理容错的? 不处理!:) 在memcached节点失效的情况下,集群没有必要做任何容错处理.如果发生了节点失效,应对的措施完全取决于用户.节点失效时,下面列出几种方案供您选择: * 忽略它! 在失效节点被恢复或替换之前,还有很多其他节点可以应对节点失效带来的影响. * 把失效的节点从节点列表中移除.做这个操作千万要小心!在默认情况下(

Apache/Nginx+Tomcat+Memcahced实现session管理

一.memcached简介 Memcached是一个免费开源.高性能.分布式的内存对象缓存系统.Memcached是在内存中,为特定数据(字符串或对象)构建key-value的小块数据存储. Memcached项目地址: http://www.memcached.org/ 现在最新版本为1.4.22,时间点:2015.01.26 二.实验环境介绍 第一个实验:我们在node3节点实现一个LNMP架构,测试memcached的基本的使用和web gui界面管理: 第二个实验:我们将node3节点当

Memcached 内存级缓存

Memcached在大型网站中应用    memcached是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像.视 频.文件以及数据库检索的结果等.最初为了加速 LiveJournal 访问速度而开发的,后来被很多大型的网站采用.起初作者编写它可能是为了提高动态网页应用,为了减轻数据库检索的压力,来做的这个缓存系统.它的缓存是一 种分布式的,也就是可以允许不同主机上的多个用户同时访问这个缓存系统, 这种方法不仅解决了共享内存

php使用memcached缓存总结

1. 查询多行记录,以sql的md5值为key,缓存数组(个人觉得最好用的方法) $mem = new Memcache(); $mem->connect('127.0.0.1',11211); $id = (int)$_GET['id']; $sql = "SELECT * FROM test WHERE id='$id'"; $key = md5($sql); //数据库查询是否已经缓存到memcahced服务器中 if(!($datas = $mem->get($ke

扫盲:php session缓存至memcached中的方法

memcached是一套分布式的快取系统,当初是Danga Interactive为了LiveJournal所发展的,但被许多软件(如MediaWiki)所使用.这是一套开放源代码软件,以BSD license授权协议发布.[1] memcached仅支持一些非常简单的命令 比如get(获取某个键值) set(用来设定或保存一个缓存): 其本身是缓存服务器,但本身无法决定缓存任何数据,其缓存机制依赖于服务端和客户端两者必不可少(存储是由服务端进行存储,但存储什么是由客户端进行决定的) 因此客户端

关于游戏服务器中缓存的设计方案的讨论

(只针对游戏服务器中的热数据)游戏服务器的缓存设计总体大概有三种类型:进程内缓存--如java的ehcahe. 进程内缓存--使用会话session Cache,通过语言的基础类型和基础的集合框架来定制 .分布式缓存-- 如redis ,memcahced. 这三种类型各有个的好处,根据不同的应用场景,可以单独使用,也可以相互结合处理. 通过三方框架来做进程内缓存,和定制session cache,在一定程度上有着快而且高效的显著效果,但是不利于做分布式,使用分布式缓存 在一定程度上会造成IO上

Memcached高性能内存对象缓存系统

一.Memcached概述 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached基于一个存储键/值对的hashmap.其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信. 传统数据都保存在关系型数据库管理系统中(RDBMS关系型数据库管理系统),客户端请求时会从RDBMS中读取数据并在浏