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

redis 相对于 memcached 的一些优点

 
阅读更多

redis 相对于 memcached 的一些优点

 

如果简单地比较Redis与Memcached的区别,大多数都会得到以下观点:

 

Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储。

Redis支持数据的备份,即master-slave模式的数据备份。

Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。

抛开这些,可以深入到Redis内部构造去观察更加本质的区别,理解Redis的设计。

 

在Redis中,并不是所有的数据都一直存储在内存中的。这是和Memcached相比一个最大的区别。

 

Redis只会缓存所有的 key的信息,如果Redis发现内存的使用量超过了某一个阀值,将触发swap的操作,Redis根据“swappability = age*log(size_in_memory)”计 算出哪些key对应的value需要swap到磁盘。然后再将这些key对应的value持久化到磁盘中,同时在内存中清除。这种特性使得Redis可以 保持超过其机器本身内存大小的数据。当然,机器本身的内存必须要能够保持所有的key,毕竟这些数据是不会进行swap操作的。同时由于Redis将内存 中的数据swap到磁盘中的时候,提供服务的主线程和进行swap操作的子线程会共享这部分内存,所以如果更新需要swap的数据,Redis将阻塞这个 操作,直到子线程完成swap操作后才可以进行修改。

分享到:
评论

相关推荐

    选redis还是memcache

    当业务具备以下特征时,Redis相较于Memcached更具优势: 1. **复杂数据结构**:当需要处理的数据不仅仅是简单的键值对,而是涉及哈希表、列表、集合或有序集合等复杂结构时,Redis是一个更好的选择。例如,在处理...

    Redis大厂常见面试题

    4. **Redis相对于Memcached的优势** - **更多数据类型**:Redis支持更丰富的数据结构,而Memcached仅支持字符串。 - **速度更快**:Redis的执行效率高于Memcached。 - **持久化**:Redis支持持久化,而Memcached...

    Redis面试知识点.pdf

    相较于其他key-value缓存产品,Redis具有以下显著特点: - **支持数据持久化**:能够将内存中的数据保存至磁盘,并在重启后重新加载使用。 - **丰富的数据类型**:除了基础的key-value存储外,还提供了list、set、...

    redis面试专题.pdf

    - 复杂性增加:相对于简单的缓存解决方案,Redis的多功能性也意味着更高的复杂度。 #### 二、Redis与memcached的比较 1. **数据类型:**memcached仅支持简单的字符串类型,而Redis提供了更多种数据结构的支持,如...

    Redis 40 道面试题及答案.docx

    * 相对于数据集大时,比AOF的启动效率更高。 缺点: * 数据安全性低。RDB是间隔一段时间进行持久化,如果持久化之间Redis发生故障,会发生数据丢失。 поэтому这种方式更适合数据要求不严谨的时候)。

    京东面试问题

    ### 京东面试问题解析 #### SpringMVC与Struts2的区别 **1.... - **SpringMVC** 的入口是 `servlet`,它作为前端控制器接收并响应请求,将请求映射为特定的方法调用。...- **缺点**:相对于内存存储,读写速度较慢。

    简单介绍Ehcache的优缺点

    4. **缺乏某些高级特性**:相较于其他一些高级的缓存解决方案,如Redis或Memcached,Ehcache在某些高级特性上可能略显不足,例如复杂的键值模式匹配、事务支持等。 总体而言,Ehcache是一款功能强大且成熟稳定的...

    Dubbo面试及答案(上).pdf111

    - **memcache和redis协议**:基于memcached和redis实现的RPC协议,适用于缓存和数据存储场景。 **2. Dubbo超时时间的设置** Dubbo超时时间可以通过服务提供者和服务消费者两端设置。服务端设置更贴近服务特性,消费...

    Dubbo面试题集合.pdf

    - **缺点**:相对于Dubbo协议,性能稍逊一筹。 #### 6. **Memcache协议** - **特点**:基于memcached实现的RPC协议。 - **应用场景**:适用于缓存相关的服务调用。 - **优点**:速度快,适用于缓存场景。 - **缺点*...

    基于PHP的WSTMall(多商户O2O开源系统)源码.zip

    同时,为了提升性能,可能会使用缓存技术(如Redis或Memcached)、负载均衡和分布式存储解决方案。 至于压缩包中的文件"132699445981856183",可能是源码的一部分或日志文件,具体用途需要解压后查看。不过,从命名...

    软件开发应知应会-84分.pdf

    26. 缺陷管理工具:BugFree在友好性和易用性方面相对于Bugzilla更强。选项AB正确。 27. 分布式存储类型:分布式存储通常分为对象存储、块存储和文件存储。选项BCD正确。 28. 微服务架构优势:微服务具有代码分散、...

    软件开发应知应会-.docx

    CSS的定位属性包括static(默认值,不进行特殊定位)、relative(相对于自身位置定位)、fixed(相对于浏览器窗口定位)和absolute(相对于最近的非static祖先元素定位),选项A、B、C、D均正确。 在shell中,引用...

    从0到1实战微服务架构.pdf

    微服务架构作为当前最为流行的服务架构风格之一,相较于传统的单一架构模式,具备了业务逻辑简单、服务间松耦合、模块间边界清晰等显著优点。其核心理念在于将大型软件系统拆分成一组小型服务,每个服务围绕特定业务...

    up_168755_speedphp_3djx3t.rar

    9. **缓存管理**:SpeedPHP 可能集成了缓存机制,如文件缓存、内存缓存(如 Redis 或 Memcached),以提高性能。 10. **国际化和本地化支持**:对于多语言网站,框架通常会提供 I18N(国际化)和 L10N(本地化)...

    Oracle SQL编程完美攻略

    - **面向高性能并发读写的Key-Value数据库**:如Redis、Memcached等,适用于高速缓存和会话管理等场景。 - **面向海量数据访问的面向文档数据库**:如MongoDB、Couchbase等,适用于存储非结构化或半结构化数据。 ...

Global site tag (gtag.js) - Google Analytics