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

redis 的理解

阅读更多

 

Memcached真的过时了吗?

这两年Redis 火得可以,Redis也常常被当作Memcached 的挑战者被提到桌面上来。关于Redis与Memcached的比较更是比比皆是。然而,Redis真的在功能、性能以及内存使用效率上都超越了Memcached吗?

下面内容来自Redis作者在stackoverflow上的一个回答,对应的问题是《Is memcached a dinosaur in comparison to Redis? 》(相比Redis,Memcached真的过时了吗?)

  • You should not care too much about performances. Redis is faster per core with small values, but memcached is able to use multiple cores with a single executable and TCP port without help from the client. Also memcached is faster with big values in the order of 100k. Redis recently improved a lot about big values (unstable branch) but still memcached is faster in this use case. The point here is: nor one or the other will likely going to be your bottleneck for the query-per-second they can deliver.
  • 没有必要过多的关心性能,因为二者的性能都已经足够高了。由于Redis只使用单核,而Memcached可以使用多核,所以在比较上,平均每一 个核上Redis在存储小数据时比Memcached性能更高。而在100k以上的数据中,Memcached性能要高于Redis,虽然Redis最近 也在存储大数据的性能上进行优化,但是比起Memcached,还是稍有逊色。说了这么多,结论是,无论你使用哪一个,每秒处理请求的次数都不会成为瓶 颈。(比如瓶颈可能会在网卡)
  • You should care about memory usage. For simple key-value pairs memcached is more memory efficient. If you use Redis hashes, Redis is more memory efficient. Depends on the use case.
  • 如果要说内存使用效率,使用简单的key-value存储的话,Memcached的内存利用率更高,而如果Redis采用hash结构来做key-value存储,由于其组合式的压缩,其内存利用率会高于Memcached。当然,这和你的应用场景和数据特性有关。
  • You should care about persistence and replication, two features only available in Redis. Even if your goal is to build a cache it helps that after an upgrade or a reboot your data are still there.
  • 如果你对数据持久化和数据同步有所要求,那么推荐你选择Redis,因为这两个特性Memcached都不具备。即使你只是希望在升级或者重启系统后缓存数据不会丢失,选择Redis也是明智的。
  • You should care about the kind of operations you need. In Redis there are a lot of complex operations, even just considering the caching use case, you often can do a lot more in a single operation, without requiring data to be processed client side (a lot of I/O is sometimes needed). This operations are often as fast as plain GET and SET. So if you don’t need just GEt/SET but more complex things Redis can help a lot (think at timeline caching).
  • 当然,最后还得说到你的具体应用需求。Redis相比Memcached来说,拥有更多的数据结构和并支持更丰富的数据操作,通常在 Memcached里,你需要将数据拿到客户端来进行类似的修改再set回去。这大大增加了网络IO的次数和数据体积。在Redis中,这些复杂的操作通 常和一般的GET/SET一样高效。所以,如果你需要缓存能够支持更复杂的结构和操作,那么Redis会是不错的选择。

来源:Is memcached a dinosaur in comparison to Redis? (其他人的回答同样值得一看)

 

转自:http://blog.nosqlfan.com/html/3729.html

分享到:
评论

相关推荐

    Redis实战 中文版

    **Redis实战 中文版**,这是一本专为学习和掌握Redis数据库技术而编写的实战指导书籍。Redis作为一款高性能的内存数据结构存储系统,广泛...对于想在IT领域深化对Redis理解的开发者来说,这无疑是一份宝贵的参考资料。

    redis之相关理解分析以及面试问题总结

    总结,Redis是高效、功能丰富的键值存储系统,理解和掌握其核心概念、存储机制和应用场景,对于提升系统性能和解决实际问题具有重要意义。在面试中,对Redis的深入理解往往能展现出开发者对高性能系统设计的洞察力。

    REDIS_redis的工具包_redisinlabview_labviewredis_labview调用redis_redis

    通过这些例子,开发者可以快速理解和学习如何在LabVIEW中有效利用Redis服务。 总结来说,`REDIS_redis的工具包`提供了在LabVIEW中无缝集成Redis的能力,使得LabVIEW程序能够利用Redis的强大功能,实现高效的数据...

    redis 免安装 redis客户端 redis-desktop-manager-0.8.8.384

    Redis 是一个高性能的键值数据库,它以键值对的形式存储数据,广泛应用于缓存、消息中间件、...理解 Redis 的核心特性和如何在 Windows 环境下运行 Redis,将有助于开发者更好地利用 Redis 来提升应用的性能和可靠性。

    redis-windows-Redis7.0.0.zip

    Redis,全称Remote Dictionary Server,是一款开源的、高性能的键值存储系统,广泛应用于...通过理解其数据类型、命令操作、持久化机制以及复制与高可用性策略,开发者可以充分利用Redis优化应用程序,提升系统性能。

    redis在win上的运行脚本redis.bat

    Redis是一款高性能的键值对数据库,常用于缓存、消息队列等场景。在Windows操作系统上运行Redis,通常需要借助一些额外的工具。标题提到的"redis在win上的...理解这些步骤对于在Windows环境下高效地使用Redis至关重要。

    redis和redisdesktop

    首先,让我们深入理解Redis的核心特性: 1. **内存存储**:Redis的所有数据都存储在服务器的内存中,这使得它在读写速度上远超传统的磁盘存储数据库。然而,这也意味着Redis不适合存储非常庞大的数据集,因为它会...

    redis 和 redis 可视化工具

    - 图形化展示数据结构,便于理解和操作 - 支持数据导入导出,方便数据迁移和备份 - 提供日志查看功能,方便问题排查 - 管理数据库,如删除、修改键值,执行命令等 综上所述,Redis 是一个强大的内存数据库系统,...

    WPF操作Redis简单实例

    同时,描述中提到了两个版本——一个是"Redis文件夹为独立的版本",可能是提供了一个简单的非WPF客户端示例,便于理解Redis的基本操作;另一个是"WpfRedis为WPF版本",意味着这个版本是专门针对WPF应用设计的,可能...

    Linux 系统 安装redis redis-5.0.1.tar.gz 安装包

    在Linux系统中安装Redis是一个常见的任务,特别是在搭建服务器或开发基于Redis的数据...了解和熟练掌握Redis的安装和配置对于任何IT专业人员来说都是一个重要的技能,它能帮助你更好地理解和运用这个强大的键值数据库。

    redis win x64位 及 安装卸载RedisServer服务

    Redis是世界上最受欢迎的开源内存数据结构存储系统,它可以用作...以上就是关于"redis win 64位 及 安装卸载RedisServer服务"的相关知识点,理解并掌握这些内容,将有助于你在Windows环境中有效地使用和管理Redis服务。

    redis桌面链接工具redis-desktop

    - **数据分析**:对于非技术人员来说,使用RDM可以更直观地理解存储在Redis中的数据结构和内容,便于进行数据分析工作。 #### 四、总结 Redis Desktop Manager是一款功能全面、易于使用的Redis管理工具,无论是对于...

    redis虚拟机环境搭建与安装redis

    Redis是一款高性能的键值存储系统,常用于数据库、缓存和消息中间件。在本文中,我们将探讨如何在Ubuntu操作...对于源码探索,可以访问Redis的GitHub仓库,了解其内部实现,这对深入理解Redis的工作原理非常有帮助。

    c++ 操作redis数据库

    1. Redis的数据结构和命令:理解Redis提供的不同数据类型及其操作命令,如字符串、哈希表、列表、集合、有序集合等。 2. C++库选择:熟悉cpp-redis、hiredis等C++ Redis客户端库,了解其API用法。 3. 网络编程:理解...

    Redis_redis_

    Redis是一种高性能的键值对数据存储...例如,北京动力节点的Redis课程可能涵盖了Redis的基本概念、数据结构、持久化、复制、事务、安全等内容,杨利军老师的讲解能够帮助初学者快速上手Redis,并深入理解其工作原理。

    redis,phpredis中文手册

    通过访问该地址,开发者可以下载最新的phpredis扩展,并且可以查看到相关的文档和使用示例,这对于理解和掌握phpredis的正确使用方法至关重要。 为了更高效地使用phpredis扩展,用户还应当熟悉Redis配置文件(redis...

    redis7.2.3-windows

    Redis是一款开源、高性能的键值对存储系统,常被用作数据库、缓存和消息中间件。在Windows环境下安装和使用Redis可能与在Linux等操作系统上...理解并掌握这些知识点,有助于在Windows环境中充分利用Redis的性能和功能。

    Redis5.0 Windows64

    Redis 5.0是Redis数据库的一个重要版本,它在Windows 64位平台上提供了全面的支持。Redis是一款开源的、基于键值对的数据存储系统,常用于缓存、数据库和...对于开发者和运维人员来说,理解和掌握这些知识点至关重要。

    Redis Desktop Manager redis的可视化工具压缩包,解压即用

    它简化了与Redis交互的过程,尤其对于初学者来说,是理解Redis数据结构和操作的优秀辅助工具。 总的来说,这个压缩包提供的Redis Desktop Manager是Redis用户的必备工具之一,通过它,你可以高效地管理和维护你的...

    redisredis redis redis redis

    Redis 是一个高性能的键值数据存储...理解并熟练运用以上知识点,可以帮助开发者充分利用 Redis 构建高效、可靠的分布式应用程序。在实际项目中,根据业务需求选择合适的数据结构、持久化策略和扩展方案是至关重要的。

Global site tag (gtag.js) - Google Analytics