redis的定义-form wiki
Redis的
开发者(S) | 萨尔瓦托雷·辛费利普[1] [2] |
---|---|
初始发行 | 5月10日,2009年 |
稳定版本 | |
知识库 | 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中,的Perl,PHP,纯数据,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的创建和它周围的商业产品:
- ElastiCache从亚马逊Web服务
- Redis的企业包从Redis的实验室
- 从Azure的缓存微软Azure
🐳 作者:hiszm 📢 版权:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,万分感谢。 💬 留言:同时 , 如果文中有什么错误,欢迎指出。以免更多的人被误导。 |