redis的定义-form wiki

Redis的

维基百科,自由的百科全书
Redis的
Redis的Logo.svg本
开发者(S) 萨尔瓦托雷·辛费利普[1] [2]
初始发行 5月10日,2009年8年前
 
稳定版本
2017 4.0.1 / 7月24日,56天前[3]
知识库 GitHub的.COM / antirez/ redis的
发展现状 活性
写在 ANSI C
操作系统 跨平台
可在 英语
类型 数据结构店
执照 BSD
网站 Redis的.IO

Redis的是一个开源实现联网,内存数据库项目的内存 键值可选店耐久性Redis的支持不同种类的抽象数据结构,如字符串,列表,地图,集合,排序集合,hyperloglogs,位图和空间索引。该项目主要由萨尔瓦托雷·辛费利普开发,目前由赞助Redis的实验室[4] Redis的实验室创建和维护官方Redis的企业包

历史编辑]

这个名字的Redis意味着远程词典服务器。[5]萨尔瓦托雷·辛费利普,Redis的原显影剂,被雇用的VMware三月,2010 [6] [7] [8]在2013年5月,Redis的是由赞助匹软件(VMware的分拆)。[9]在2015年6月,发展成为赞助Redis的实验室[10]

据月度排名DB-发动机,Redis的往往是排名最流行的键值数据库[11] Redis的也已位居第4 的NoSQL数据库在用户满意度和基于用户评论市场的存在,[12]最流行的NoSQL数据库容器中,[13]和Top 50开发工具中的#1的NoSQL数据库&服务。[14]

支持的语言编辑]

许多语言都Redis的绑定,包括:[15] 的ActionScriptÇC ++C# 鸡计划Clojure中Common Lisp的ð飞镖二郎围棋哈斯克尔HAXE木卫一Java的JavaScript的Node.js的朱莉娅Lua中Objective-C中OCaml中的PerlPHP纯数据Python中- [R [16] 球拍红宝石锈病Scala中Smalltalk中Tcl的

一些客户端软件程序在这些语言中存在的[17] 

数据类型编辑]

Redis的键映射到相应类型的值。Redis的和其他的一个重要区别结构化存储系统是Redis的支持不仅,还抽象数据类型:

  • 列表
  • 字符串(非重复未排序的元素的集合)
  • 串的排序集合(由有序非重复元素的集合浮点数称为得分)
  • 哈希表,其中键和值都是字符串
  • HyperLogLogs用于近似集的基数规模估计。
  • 通过执行地理空间数据地理散列因为Redis的3.2技术。[18]

类型的值的确定什么样的操作(称为命令)可用于该值本身。Redis的支持高级别,例如路口,工会原子,服务器端操作,以及差集和列表,集合的分类和排序的集合之间。

持久性编辑]

Redis的通常在内存中保存整个数据集。版本到2.4可被配置为使用他们称之为虚拟存储器[19]在其中的一些所述数据集存储在磁盘上,但该功能已被弃用。持久性现在是两种不同的方式来实现:一种被称为快照,是一个半永久性的耐久性模式,其中数据集从异步存储器传送到磁盘不时,写在RDB转储格式。由于1.1版本的更安全的替代是AOF,一个只追加文件(一个轴颈),其被写为修改存储器中的数据集的操作进行处理。Redis的是能改写在后台只追加文件,以避免该杂志的无限增长。

默认情况下,如果需要的话,可Redis的数据写入到文件系统每2秒至少,或多或少稳健的选择。在默认设置一个完整的系统故障的情况下,数据只需几秒钟就会丢失。

复制编辑]

Redis的支持主从复制从任何的Redis服务器的数据可以复制到任意数量的奴隶。从属可以是主给另一个从机。这使得Redis的实现单根复制树。Redis的奴隶可以被配置为接受写操作,允许实例之间的有意和无意的不一致。所述发布/订阅功能被完全实现,所以从设备的客户端可以订阅频道和接收发布到主消息的完整进料,最多复制树的任何地方。复制是有用的读(但不能写),可扩展性和数据冗余。[20]

性能编辑]

耐久性不需要的数据,Redis的的内存特性使其有良好表现相比,考虑提交的事务之前写的每一个变化磁盘数据库系统。[5]的Redis操作为一个单一的过程,是单线程或双螺纹,当它重写AOF(追加专用文件)。[21]因此,单个的Redis实例不能利用任务的并行执行诸如存储过程

聚类编辑]

Redis的在2015年4月推出了聚类的3.0版本的发布。[22]所述的群集规范实现的Redis命令的子集:所有单键命令是可用的,与数据库选择操作多键操作被限制于属于同一节点密钥(与工会和交点命令),和命令不可用。[23]一个Redis的集群可以扩展到1000个节点,达到“可接受的”写安全,并继续操作时,一些节点出现故障。[24] [25]

用例编辑]

由于数据库设计的本质,典型的用例是会话缓存,整个页面缓存,消息队列应用程序,排行榜和他人之间计数。[26]大公司如Twitter使用Redis的,[27]亚马逊网络服务是在其投资组合提供Redis的。

另请参见编辑]

商业实现编辑]

有些comapanies已经使用Redis的创建和它周围的商业产品:

posted @ 2017-09-19 16:46  孙中明  阅读(147)  评论(0编辑  收藏  举报