`
sunwtrain
  • 浏览: 4106 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Redis与Memcached

 
阅读更多
  总结一下:

  1) Redis其实只适合作为缓存,而不是数据库或是存储。它的持久化方式适用于救救急啥的,不太适合当作一个普通功能来用。对于这个版本的Redis,不建议使用任何的持久化方式。否则到时候可能会死的比较难看。说白了,期望Redis是memcached的升级版,带有各种数据结构,但是不要期望Redis来和Mongodb/Kt等来比。

  2) 对于VM其实也是不建议开启,虽然开启VM可以让Redis保存比内存更多的数据,但是如果冷热数据不是很明显的话性能会非常差(我的测试都是随机查询Key,冷热不明显)。当然,对于冷热明显的情况下可以设置200% - 400%的内存作为VM空间,也不建议设置10倍的内存空间作为VM(像我的配置一样)。

  3) ServiceStack.Redis客户端好像有几个Bug,首先RedisTypedClient的Dispose居然没有实现,应该是要调用client.Dispose(),其次RedisNativeClient的Info属性不是每次都获取最新值的,第三PooledRedisClientManager的WritePoolIndex和ReadPoolIndex只看到加没看到减的地方,也不知道这是干啥的,其实每次都取第一个不是Active的Client就可以了,PooledRedisClientManager也没有把超时使用的Active的Client强制回收(避免使用的时候忘记Dispose占用过多的连接)。有关这几点,我会尝试联系ServiceStack.Redis的作者。

  • 没有必要过于关注性能,因为二者的性能都已经足够高了。由于Redis只使用单核,而Memcached可以使用多核,所以二者比较起来,平均每一个核上,Redis在存储小数据时比Memcached性能更高。而在100k以上的数据中,Memcached性能要高于Redis。虽然Redis最近也在存储大数据的性能上进行优化,但是比起Memcached,还是稍有逊色。说了这么多,结论是,无论你使用哪一个,每秒处理请求的次数都不会成为瓶颈。
  • 在内存使用效率上,如果使用简单的key-value存储,Memcached的内存利用率更高。而如果Redis采用hash结构来做key-value存储,由于其组合式的压缩,其内存利用率会高于Memcached。当然,这和你的应用场景和数据特性有关。
  • 如果你对数据持久化和数据同步有所要求,那么推荐你选择Redis。因为这两个特性Memcached都不具备。即使你只是希望在升级或者重启系统后缓存数据不会丢失,选择Redis也是明智的。
  • 当然,最后还得说到你的具体应用需求。Redis相比Memcached来说,拥有更多的数据结构,并支持更丰富的数据操作。通常在Memcached里,你需要将数据拿到客户端来进行类似的修改再set回去。这大大增加了网络IO的次数和数据体积。在Redis中,这些复杂的操作通常和一般的GET/SET一样高效。所以,如果你需要缓存能够支持更复杂的结构和操作,那么Redis会是不错的选择。
分享到:
评论

相关推荐

    redis与memcached比较

    ### Redis与Memcached比较 #### 一、概述 在现代软件架构中,缓存技术扮演着至关重要的角色,能够显著提升应用性能并减轻后端数据库的压力。两种最流行的缓存解决方案——Redis和Memcached,各自拥有独特的特性和...

    计算机后端-PHP视频教程. Redis01 Redis与Memcached的区别.wmv

    计算机后端-PHP视频教程. Redis01 Redis与Memcached的区别.wmv

    分布式缓存 Redis + Memcached 经典面试题!.zip

    3. Redis 与 Memcached 的比较: - 数据类型:Redis 支持丰富的数据结构,而 Memcached 只支持简单的字符串。 - 持久化:Redis 提供持久化机制,而 Memcached 不具备。 - 性能:在纯内存操作下,两者性能相近,但...

    分布式缓存技术-Redis和Memcached选型对比-性能测试

    本文将深入探讨Redis与Memcached的选型对比,分析它们的性能测试结果,并探讨各自的优缺点。 Redis与Memcached都是基于NoSQL的内存数据结构存储系统,用于加速应用程序,支持亚毫秒级延迟,并且都是开源项目,用...

    10.1.1 redis相比memcached有哪些优势?.md

    10.1.1 redis相比memcached有哪些优势?

    TreeNM在linux下的部署(用记访问redis和memcached)

    在Linux环境下部署TreeNM并使用Redis和Memcached进行数据访问,是一项涉及到缓存系统和网络监控软件的技术操作。为了更深入地理解这一过程,我们需要分别了解Redis、Memcached以及TreeNM三个主要技术组件的原理和...

    ZendFramework 1 cache for Redis,Memcached

    3. **Zend_Cache**: `Zend_Cache` 是 Zend Framework 中用于缓存处理的核心组件,它可以方便地与其他缓存后端(如 Redis 和 Memcached)集成。通过 `Zend_Cache`,开发者可以定义缓存策略,设置缓存前缀,控制缓存...

    TreeNMS for Redis, memcached v1.7.5

    **TreeNMS for Redis, memcached v1.7.5** TreeNMS 是一款由 TreeSoft 开发的数据库管理系统,特别针对 Redis 和 memcached 这两种流行的数据存储系统设计。这款工具提供了一种免费且高效的解决方案,用于管理和...

    memcached数据完整迁移到redis

    标题 "memcached数据完整迁移到redis" 描述的是一个数据迁移的过程,从使用 memcached 存储的数据转换到使用 redis 存储。这个过程在 IT 领域中是常见的,因为不同的缓存系统有不同的特性和优势。让我们深入探讨这个...

    Tornado 的 Redis,Memcached 会话.zip

    皮克特这是一个会话库,专为与 Redis 或 Memcached 和 Tornado Web 服务器一起使用而编写。项目状态执照本软件遵循 BSD 2-Clause 许可(请参阅 LICENSE 文件)要求非 Python 要求Redis(使用 2.4.0 版本测试)或 ...

    竞品分析之redis强于memcached_memcached集群

    竞品分析之redis强于memcached redis主从切换 1.redis支持持久化(存盘),memcache只能存在内存中 2.redis的速度比memcached快很多.Redis直接自己构建了VM 机制 ,因为一般的系统调用系统函数的话,会浪费一定的时间去...

    .NET Core中使用Redis与Memcached的序列化问题详析

    本文将探讨如何在.NET Core环境中处理Redis与Memcached的序列化问题,并以StackExchange.Redis和EnyimMemcachedCore为具体实现库。 首先,让我们了解一下几种常见的序列化方法。系统自带的`System.Runtime....

    Redis 对比 Memcached 并在 CentOS 下进行安装配置详解

    1. **Redis 与 Memcached 的区别**: - **数据类型**:Redis 支持多种数据结构,如 String、Hash、List、Set 和 Sorted Set,这使得它能够处理更复杂的数据操作。相反,Memcached 只支持简单的 String 类型。 - **...

    php mysql redis nginx memcached

    这个组合通常用于搭建一个高性能的Web环境,其中Nginx负责接收HTTP请求,通过FastCGI与PHP交互处理动态内容,MySQL存储数据,Redis和Memcached作为缓存层,提升整体性能。这样的架构在现代Web开发中非常常见,尤其...

    分布式缓存 Redis + Memcached 经典面试题!.pdf

    Redis中键值对的存储会包含额外开销,例如类型信息和引用计数,这可能导致与Memcached相比更高的内存占用。 7. **Memcached的工作原理**: - 完全基于内存,C/S架构,使用libevent处理异步I/O。 - 数据以key-...

    基于Redis、Memcached、Nginx、Libevent的C语言设计源码工具库

    该项目不仅为C语言开发者提供了与现代技术栈结合的实践案例,还通过提供强大的工具库,促进了在不同应用场景下对Redis、Memcached、Nginx和Libevent的有效利用,最终能够帮助开发者构建出高性能、高可靠性的网络应用...

    深入理解redis_memcached失效原理(小结)

    Redis 和 Memcached 都是广泛使用的内存数据存储系统,它们常用于缓存和快速数据访问。本文主要讨论了这两种技术的缓存失效原理,特别是针对 Redis 的失效机制进行了深入解析。 首先,我们要明白如何触发 key 的...

    redis+memcached win安装包以及php7.3dll文件

    redis:Redis-x64-3.2.100.msi + Redis-x64-3.2.100.zip + php_redis-4.2.0-7.3-ts-vc15-x64.zip redis安装:.msi文件打开直接安装即可,注意选择添加patt选项 memcached: memcached-win64-1.4.4-14 + ...

Global site tag (gtag.js) - Google Analytics