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

memcached限制以及与reids的比较

阅读更多

一、memcached限制

在分布式企业级应用中,memcached被广泛使用。但是关于它自身的一些限制需要我们了解:
1、过期时间
memcached的缓存策略为:失效时间 + LRU(最近最少使用)。其过期时间设置上限阈值为30天,若超过30天后,将获取不到存储的数据。
2、数据稳定性
memcached需要保证集群的内存空间足够大,否则内存满了之后,会采用LRU置换算法,将部分数据清除,加上其无法进行持久化,所以将导致数据丢失。
3、存储限制
键被限制在250字符之内。而且由于memcached默认采用了slab内存分配机制,所以单个数据项不能超过 1M。memcached没有采用malloc/free的方法来分配内存,因为后者可能产生大量内存碎片,操作系统极端情况下需要消耗大量资源在内存管理上。使用了slab后,通过分配的可重复使用的chunk来解决这一问题。关于memcached的内存管理机制可以参考http://basiccoder.com/memcached-memory-mamagement.html
4、访问限制
允许最大同时连接数200.
5、支持数据结构单一
只支持key-value结构。没有redis提供的丰富数据结构
6、没有自带分布式实现

需要自己实现。比如比较常见的,通过虚拟化一致性哈希即可实现。

二、与redis的比较

与redis的比较这也是一个老生常谈的话题。相比来说,redis作为一种缓存,或者干脆称之为nosql数据库,提供了丰富的数据类型(list、set等),可以将大量数据的排序从单机内存解放到redis集群中处理,并可以用以实现轻量级消息中间件。其自带master-slave备份、支持持久化。memcached和redis的性能比较上,redis在小于100K的数据读写上速度优于memcached。但数据大小过大时,其性能将急遽降低,劣于memcached。但是不知道最新的redis是否在该问题上已经做了优化。

 

 

0
0
分享到:
评论
2 楼 Surlymo 2014-06-22  
kidding87 写道
还得看sdk,Memcached的sdk写的不怎么样,google的XMemcached速度就快很多


嗯,XMemcached没看过。确实是需要看Memcached是怎么实现的。我指的是默认的Memcached实现
1 楼 kidding87 2014-06-19  
还得看sdk,Memcached的sdk写的不怎么样,google的XMemcached速度就快很多

相关推荐

    Redis常见面试题汇总.pdf

    Redis本质_上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加 载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是 纯内存操作,Redis的性能非常出色,每秒可以...

    46道史上最全Redis面试题

    Redis 的出色之处不仅仅是性能,Redis 最大的魅力是支持保存多种数据结构,此外单个 value 的最大限制是 1GB,不像 memcached 只能保存 1MB 的数据,因此 Redis 可以用来实现很多有用的功能。 比方说用他的 List 来...

    30道Redis面试题.docx

    30道Redis经典面试题,学会拿高薪...Redis的出色之处不仅仅是性能,Redis最大的魅力是支持保存多种数据结构,此外单个value的最大限制是1GB,不像 memcached只能保存1MB的数据,因此Redis可以用来实现很多有用的功能。

    限制:使用各种策略和存储后端(例如redis和memcached)实施速率限制的实用程序

    限制:使用各种策略和存储后端(例如redis和memcached)实施速率限制的实用程序

    【redis】– 缓存(redis作为缓存使用)

    文章目录1.redis的回收策略redis的LRU回收算法2.关于redis作为缓存时出现的击穿,穿透,雪崩...maxmemory配置指令用于配置Redis存储数据时指定限制的内存大小。通过redis.conf可以设置该指令,或者之后使用CONFIG SET命

    Redis面试题整理

    1、什么是 Redis?简述它的优缺点? 本质上是一个 Key-Value 类型的内存数据库,很像 memcached,整个...Redis 的主要缺点是数据库容量受到物理内存的限制,不能用作海量数据的高性能 读写,因此 Redis 适合的场景主要

    如何高效使用Redis作为LRU缓存

    当用Redis作为一个LRU存储时,有些时候是比较方便的,在你增添新的数据时会自动驱逐旧的数据。这种行为在开发者论坛是非常有名的,因为这是流行的memcached系统的默认行为。 LRU实际上只是支持驱逐的方式之一。这页...

    slowapi:Starlette和FastAPI的速率限制器

    Redis,Memcached和内存后端可跟踪您的限制(内存作为后备) 支持同步和异步HTTP端点 支持跨一组路线的共享限制 局限性和已知问题 必须将request参数明确传递给您的端点,否则slowapi将无法挂接到该端点。 换句话说...

    Laravel v5.5

    :view和 Route::redirect 方法、Memcached 和 Redis 缓存驱动”锁”、按需通知、Dusk 无痛感支持 Chrome、方便的 Blade 快捷键、优化信任的代理支持,等等。 此外,Laravel 5.5 还恰巧碰上 Laravel Horizon 的发布...

    gubernator:高性能速率限制微服务和库

    Gubernator不依赖于诸如memcached或redis之类的外部缓存,因为这样就不会与依赖服务进行部署同步。 这使得在kubernetes或nomad琐事等编排系统中动态地增加或缩小了集群。 Gubernator在磁盘上不保持任何状态,它的...

    node-rate-limiter-flexible:在单个进程或分布式环境中,Node.js速率限制请求按键进行原子递增

    它与Redis ,进程Memory , Cluster或PM2 , Memcached , MongoDB , MySQL , PostgreSQL一起使用,并允许在单个进程或分布式环境中控制请求速率。 原子增量。 内存或分布式环境中的所有操作都针对竞争条件使用...

    rack-throttle:用于对传入的HTTP请求进行速率限制的机架中间件

    在任何响应#[] / #[]= (如Ruby的哈希值)或#get / #set (如memcached或Redis)的键/值存储实现中存储限速计数器。 与Ruby标准库中包含的绑定兼容。 与 , , 和 gem兼容。 与的兼容(当前可作为免费Beta版服务...

    RateLimitBundle:通过注释轻松将速率限制添加到您的控制器操作中

    NoxlogicRateLimitBundle 该捆绑软件提供了启用@...多个存储后端:Redis,Memcached和Doctrine缓存 安装 安装只需几个简单的步骤: 第1步:将捆绑包添加到您的composer.json 如果您还不熟悉Composer,请访问 。

    决战Nginx系统卷:高性能Web服务器详解与运维第二部分(保证能用)

    第50章 Nginx使用redis数据库 第51章 Nginx访问MongoDB 第52章 Nginx访问Mogilefs 第3部分 Nginx与缓存 第53章 缓存技术――proxy_cache 第54章 缓存技术――proxy_store 第55章 缓存技术――Memcached 第56...

    决战Nginx: 系统卷 - 高性能Web服务器详解与运维第三部分(保证能用)

    第50章 Nginx使用redis数据库 第51章 Nginx访问MongoDB 第52章 Nginx访问Mogilefs 第3部分 Nginx与缓存 第53章 缓存技术――proxy_cache 第54章 缓存技术――proxy_store 第55章 缓存技术――Memcached 第56...

    决战Nginx系统卷:高性能Web服务器详解与运维第一部分(保证能用)

    第50章 Nginx使用redis数据库 第51章 Nginx访问MongoDB 第52章 Nginx访问Mogilefs 第3部分 Nginx与缓存 第53章 缓存技术――proxy_cache 第54章 缓存技术――proxy_store 第55章 缓存技术――Memcached 第56...

    Zend Framework实现将session存储在memcache中的方法

    下面是SaveHandler,文件名为 :Memcached.php ,将其放在 /Zend/Session/SaveHandler 目录下,代码如下(需要有php_memcache支持,因为字符长度限制,我把部分注释去掉了): require_once 'Zend/Session.php'; require...

    社交系统中用户好友关系数据库设计.pdf

    - 可加⼊缓存层(Redis或Memcached)来提⾼性能; - 可从数据库层限制(user_id,friend_id)不可重复; 加⼊分组 如果好友数量⽐较多,关系⽐较复杂,可引⼊好友分组,可进⾏如下改造: ID user_id friend_id user...

    MongoDB基本操作指南

    MongoDB是一个面向文档的数据库,目前由10gen开发并维护,它的功能丰富,齐全,完全可以替代MySQL。...这些modifer可以让MongoDB具有和Redis、Memcached等KV类似的功能:较之MySQL,MonoDB更加简单快速。

    Shopnc b2b2c 好商城V5 33hao-V5完整源码.zip

    缓存机制 √ 支持Memcached,redis,eAccelerator,xcache,apc,file分布式对象的缓存系统 负载均衡 √ 高性能流量分发的负载均衡(咨询) 安全防范 √ 防范CSRF攻击、SQL注入、密码加密算法、前后台的输入验证等方面...

Global site tag (gtag.js) - Google Analytics