Comparison Index | Memcached | Redis |
---|---|---|
什么是 | Memcached是内存中的键值存储, 最初用于缓存目的。 | Redis是内存中的数据结构存储, 用作数据库, 缓存和消息代理。 |
Description | MemcacheD简单, 设计简单但功能强大。其简单的设计可促进快速部署, 易于夸张, 并解决了与大数据缓存有关的许多问题。它具有内置的API, 这些API提供了分布在多台计算机上的非常大的哈希表, 并使用内部内存管理来提高效率。 MemcacheD仅支持String数据类型, 这是存储只读数据的理想选择。 Memcached是易失的内存键值起源。它是多线程的, 主要用于缓存对象。 | Redis是一个开源的内存中数据结构存储, 也可以用作数据库和缓存。它支持几乎所有类型的数据结构, 例如字符串, 哈希, 列表, 集合, 带范围查询的排序集合, 位图, 超级日志和通过半径查询的地理空间索引。 Redis也可以用作发布/订阅的消息传递系统。 |
主数据库模型 | Memcached遵循键值存储数据库模型。 | Redis还遵循键值存储数据库模型。 |
由开发 | Memcached由Danga Interactive开发。 | Redis是由Salvatore Sanfilippo开发的。 |
初始发行 | Memcached最初于2003年发布。 | Redis最初于2009年发布。 |
当前的版本 | Memcached的当前版本是1.5.1, 于2017年8月发布。 | Redis当前版本为4.0.2, 于2017年9月发布。 |
License | Memcached是免费的开放源代码。 | Redis也是免费和开源的。 |
Cloud-based | No | No |
Implementation language | Memcached用C语言实现。 | Redis也用C语言实现。 |
服务器操作系统 | FreeBSD Linux OS X Unix Windows | BSD Linux OS X Windows |
支持的编程语言 | .Net, C, C ++, ColdFusion, Erlang, Java, Lisp, Lua, OCaml, Perl, PHP, Python, Ruby | C, C#, C ++, Clojure, Crystal, D, Dart, Elixir, Erlang, Fancy, Go, Haskell, Haxe, Java, JavaScript(Node.js), Lisp, Lua, MatLab, Objective-C, OCaml信息, Perl, PHP, Prolog, 纯数据, Python, R, Rebol, Ruby, Rust, Scala, Scheme, Smalltalk, Tcl |
服务器端脚本 | No | Lua |
Triggers | No | No |
Partitioning methods | None | Sharding |
复制方式 | None | 主从复制 |
MapReduce | No | No |
外键 | No | No |
交易概念 | No | 乐观锁定, 原子执行命令块和脚本 |
Concurrency | Yes | Yes |
Durability | No | Yes |
User concepts | Yes | 简单的基于密码的访问控制 |
Installation | Memcached的安装和运行有点复杂。 | 安装Redis非常容易。无需依赖。 |
Memory Usage | 与Redis相比, MemcacheD的内存效率更高, 因为它消耗的元数据存储资源相对较少。 | 仅在使用Redis哈希之后, Redis才具有更高的内存效率。 |
Persistence | Memcached不使用持久数据。使用Memcached时, 重新启动可能会丢失数据, 并且重建缓存是一个昂贵的过程。 | Redis可以处理持久数据。默认情况下, 它至少每2秒将数据同步到磁盘一次, 以提供可选的可调整数据持久性, 以在计划关闭或意外故障后引导缓存。尽管我们倾向于将缓存中的数据视为易失性和瞬态数据, 但将数据持久保存到磁盘在缓存场景中可能非常有价值。 |
Replication | Memcached不支持复制。 | Redis支持主从复制。 |
存储类型 | MemcacheD将变量存储在其内存中, 并直接从服务器内存中检索所有信息, 而无需再次访问数据库。 | Redis就像驻留在内存中的数据库。它从数据库中执行(读取和写入)键/值对以返回结果集。这就是为什么开发人员将其用于实时指标和分析。 |
执行速度和性能 | MemcacheD非常适合处理高流量的网站。它可以一次读取许多信息, 并以出色的响应时间给你回馈。 | Redis既无法处理高流量, 又无法进行大量写入。 |
Data Structure | MemcacheD在其数据结构中仅使用字符串和整数。因此, 你保存的所有内容都可以是字符串或整数。这很复杂, 因为使用整数, 唯一可以做的数据操作就是加或减它们。如果需要保存数组或对象, 则必须先对其进行序列化, 然后再保存。要读回它们, 你需要取消序列化。 | Redis具有更强大的数据结构, 它不仅可以处理字符串整数, 还可以处理二进制安全字符串, 二进制安全字符串列表, 二进制安全字符串集和排序集。 |
键长 | Memcached的密钥长度最大为250个字节。 | Redis的密钥长度最大为2GB。 |
Redis与Memcached有什么区别?答案在这里。。。
未经允许不得转载:srcmini » Redis与Memcached有什么区别?答案在这里。。。
相关推荐
-      Django,Flask和Redis教程:Python框架之间的Web应用程序会话管理
-      微服务通信:Redis的Spring集成教程
-      如何执行Redis基准测试?
-      适用于你的应用程序的8种最佳托管Redis托管
-      Redis实时发布/订阅
-      Redis面试题和答案完全解读
-      Ubuntu Redis安装详细步骤图解
-      Redis与RDBMS的区别详细比较
评论前必须登录!
注册