Redis 和 Elasticsearch 比较
项目 | Redis | Elasticsearch |
---|---|---|
介绍 | Redis 是内存中的数据结构存储,用作数据库,缓存和消息代理 | Elasticsearch 是一个基于 Apache Lucene 的现代搜索和分析引擎 |
主数据库模型 | 键值存储 | 搜索引擎 |
DB-Engines 排名 | 得分 120.41 总排名第 9,key-value 存储排名第 7 | 得分 120.00 总排名第 10,搜索引擎排名第 1 |
网站 | redis.io | www.elastic.co/cn/elasticsearch |
技术文档 | redis.io/documentation | www.elastic.co/cn/elasticsearch/features |
开发者 | Salvatore Sanfilippo | Elastic |
创建时间 | 2009 | 2010 |
当前版本 | 6.0.8,2020 年 11 月 | 7.6.1,2020 年 3 月 |
许可证信息 | 开源 | 开源 |
基于云的信息 | 没有 | 没有 |
实现语言 | C | Java |
支持的操作系统 | BSD Linux OS X Windows | 所有带有 Java VM 的操作系统 |
数据 scheme | 无 scheme | 无 scheme |
XML 支持 | 没有 | |
二级索引 | 没有 | 是 |
SQL | 没有 | 没有 |
API 和其他访问方法 | 专有协议 | Java API RESTful HTTP / JSON API |
支持的编程语言 | 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 Smalltalk Tcl | .Net Clojure Erlang Go Groovy Haskell Java JavaScript Lua Perl PHP Python Ruby Scala |
服务器端脚本 | Lua | 是 |
触发器 | 没有 | 是 |
分区方法 | 拆分 | 拆分 |
复制方法 | 主从复制 | 是 |
MapReduce | 没有 | 没有 |
一致性概念 | 最终的一致性 | 最终的一致性 |
外键 | 没有 | 没有 |
如果对数据的读写要求极高,选redis;如果需要构造一个搜索引擎或者数据有一定的分析价值想搞高大上的数据可视化平台,选ElasticSearch。