使用教程(1)简介:Redis

使用教程(1)简介:Redis
1。简介:

在过去的几年中,NoSQL数据库已经成为高并发和海量数据存储解决方案的代名词,而相应的产品如雨后春笋般涌现。然而,很少有很多产品可以脱颖而出,比如redis,mondb,BerkeleyDB,和CouchDB。为每个产品的特点是不同的,他们的应用场景的一些差异,和一个简单的解释如下。

1)。BerkeleyDB是一个非常流行的开源嵌入式数据库,在更多的情况下,可用于存储引擎,比如BerkeleyDB被收购前,Oracle作为MySQL存储引擎,可以预期,该产品具有良好的可扩展性,支持服务和嵌套事务,海量数据存储等提供一个重要的特征,具有很高的对于实时数据存储的价值。然而,需要指出的是,该产品的许可证GPL,这意味着它是不是在所有的情况下都是免费的。

2)。mondb的定义是面向文档的数据库服务器。不像BerkeleyDB数据库可以独立运行,并提供相关的数据服务和其他关系数据库服务器,从公文的产品我们可以学习,MonDB主要适用于高并发的论坛或者博客,这些网站的主要特征是并发读写的少,数据量大,逻辑简单,和文档数据为主要数据源,像BerkeleyDB一样,该产品的许可证GPL。

3)。redis,典型的NoSQL数据库服务器,可以作为一个服务程序服务程序独立于其自己的服务器主机上运行,比BerkeleyDB。在许多情况下,人们把redis作为键/值数据库服务器。然而,事实并非如此。在目前的版本中,redis支持列表,哈希,集序集和其他数据结构除了键/值,所以它的使用是广泛的。这种误解,Redis官网也得到了澄清。不同于以上两种产品,使用的是Apache许可证,现在是完全免费的。

4)。缓存,数据缓存服务器。为什么有一个产品的解释吗这很简单,因为我认为这是它的使用方式最为相似的redis。毕竟,这是一个技术系列博客的redis,有鉴于此,我们将简要地比较两个产品。先说说它们最大的区别,memcached只是提供了一个数据缓存服务,一旦服务器关闭,在内存中缓存数据都会消失,可以看出memcached不提供任何形式的持久性数据的功能,并使用提供了这样的功能。此外,Redis提供了丰富的数据存储结构,如哈希和集。至于他们的相似之处,有主要有两点,一是完全免费的,然后他们的订单是非常接近的。
二,Redis的优点:

1)。与其他NoSQL产品相比,使用具有高可用性。因此,对于那些使用类似产品经验的开发人员,他们可以使用redis中的一个或两个几天甚至几个小时搭建自己的平台。

2)在解决许多常见问题的同时,也为一些个性化问题提供了相应的解决方案,如索引引擎、统计排序消息队列服务等。

三。在当前版本的使用存在的主要问题:

1)。在官方版本中不支持Windows平台,和官方版本的发布版本只支持UNIX和MacOSX平台。

2)。没有对集群的支持,但该功能预计将被添加到2.6版,根据官方网站。

3)。发布/订阅功能,如果主人已下降,奴隶不能自动升级为主人。
四。与关系数据库的比较:

在Redis的当前版本(2.4.7),提供了五种不同类型的数据,这是唯一的一个类型,字符串类型可以视为关键的价值结构、应用场景和数据类型也适用于其他的特性,如图所示的细节我们将在后面的系列博客。

与关系数据库相比,Redis是不能够支持复杂的逻辑关系,由于其相对简单的存储结构。然而,在这样的情况下,我们可以实现效率显著提高。即便如此,Redis还是提供了一些数据库的基本概念,应该为我们在同一个连接,你可以选择打开不同的数据库,但是,在redis数据库是通过号码被命名,默认打开的数据库0。如果该计划打算开关数据库在运行的过程中,它可以使用redis的select命令打开其他数据库,如选择1。如果您想稍后切换回默认数据库,则只需执行选择0。

在数据存储方面,主流的Redis遵循现有的NoSQL数据库,重点为唯一标识数据的检索,我们可以简单的理解为关系数据库中的索引键和值作为数据存储的主要对象,其中的每个值与密钥相关的。这是在表中的数据存储的物理数据索引的位置。在Redis,值将被视为二进制字节流中的任何格式存储数据,如JSON,XML和序列化的对象的字节流,所以我们可以把它想象为数据库的BLOB类型的字段,它可以可见,数据查询,我们只能依靠我们的查询条件的关键。当然,我们也可以运用一些技巧在redis提供价值作为其他数据的关键,我们将介绍的博客以后。
五。如何保存内存数据:

默认情况下,Redis将在当前数据库中修改的数据的数量。到达一定阈值后,它将将数据库快照保存到磁盘。我们可以通过配置文件设置门槛。通常情况下,我们还可以设置使用保持定期。当超过1000的关键数据被修改,Redis会执行数据持久化操作的每一个60秒的默认设置,如果有9个或少于9的数据进行修改,重新将坚持每15分钟。

从上述方案可以看出,如果使用这种方法,使用运行时的效率将是非常有效的,无论是新的数据修改时,只有数据被缓存在内存中的变化,这种变化不会立即被保存到磁盘上,从而避免在修改操作绝大多数磁盘IO的发生。然而,事情往往具有两面性,我们所做的有效率,但我们失去了数据的可靠性。如果快照保存到磁盘之前,Redis服务器宕机,那么这些修改写入磁盘的数据都会丢失。为了保证数据的高可靠性,Redis还提供了另一个数据持久化机制——追加模式。如果Redis服务器配置igured这样,每次数据修改时,它立即保存到磁盘。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部