Redis是一种什么样的数据库?-成都快上网建站

Redis是一种什么样的数据库?

在Web应用的发展初期,“关系型数据库”得到了广泛的关注和应用,原因是因为当时的Web站点基本上访问量和并发量都不高。后来,随着访问量的不断攀升,使用关系型数据库的Web站点或多或少都开始在性能上出现了一些瓶颈,而瓶颈的源头一般来自于磁盘的I/O(即输入和输出)上。随着互联网技术的进一步发展,尤其是移动互联网的出现,各种类型的应用层出不穷,这导致了在当今“云计算、大数据”盛行的时代,对性能有了更高的需求,主要体现在以下四个方面:

公司主营业务:网站建设成都网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联建站是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联建站推出天镇免费做网站回馈大家。

1、低延迟的读写速度:手机应用的快速反应,能极大地提升用户的满意度;

2、支撑海量的数据和流量:对于“搜索”这样高并发量的大型应用而言,需要利用PB级别的数据和能应对百万级的流量;

3、大规模集群的管理:系统管理员希望分布式应用,能进行更简单的部署和管理;

4、庞大运营成本的考量:企业的IT部门希望在“硬件成本、软件成本和人力成本”上能够有大幅度的降低;


为了解决应用对更高性能需求的问题,NoSQL(非关系型数据库)应运而生,它同时具备了“高性能、高可用性、可扩展性强”等优势和特点,因此广泛地受到了开发人员和系统管理员们的青睐。


一、Redis是一种什么样的数据库?


Redis是目前最受欢迎的NoSQL(非关系型数据库)之一,是一种使用ANSI C编写的开源、包含多种数据结构、支持网络、基于内存、可选持久性的“键值对存储数据库”,其具有如下4种特性:

❶基于内存运行,性能高效;

❷支持分布式,理论上可以无限扩展;

❸key-value存储系统;

❹开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API(应用编程接口)。


Redis是一种什么样的数据库?


相比于其他数据库类型,Redis具备的特点是:


❶C/S(客户机/服务器)通讯模型;

❷单进程单线程模型;

❸丰富的数据类型;

❹持久化;

❺高并发读写;

❻支持lua脚本。


二、Redis的应用场景有哪些?


Redis 的应用场景,主要包括:缓存系统(“热点”数据:高频读、低频写)、计数器、消息队列系统、排行榜、社交网络和实时系统。


三、Redis提供的数据类型


Redis不仅仅只支持简单的“K-V形式”的数据存储,还支持“Hash 、list、set、zset”等集合类数据存储。Redis提供的数据类型,主要分为5种自有类型和一种自定义类型,这5种自有类型包括:String类型、哈希(Hash)类型、列表(List)类型、集合(Set)类型和顺序集合(ZSet)类型。


四、除了Redis,还有什么NoSQL(非关系)型数据库?


市面上类似于Redis,同样是NoSQL(非关系)型的数据库有很多,如下图所示,除了Redis,还有“MemCache、Cassadra和Mongo”。下面,我们分别对这几个数据库做一下简要的介绍:


1、 Memcache:这是一个和Redis非常相似的数据库,但是它的数据类型没有Redis丰富。Memcache由LiveJournal的Brad Fitzpatrick开发,作为一套分布式的高速缓存系统,被许多网站使用以提升网站的访问速度。Memcache对于一些大型的、需要频繁访问数据库的网站提升访问速度,效果十分显著。


2、 Apache Cassandra:(社区内一般简称为C*)这是一套开源分布式的NoSQL数据库系统。它最初由Facebook (脸书)开发,用于存储“收件箱”等简单格式的数据,集Google BigTable(谷歌设计的一种非关系型数据库)的数据模型与Amazon Dynamo(亚马逊研发的一套基于KV存储模型的数据库)的完全分布式架构于一身。Facebook(脸书)于2008年将 Cassandra 开源,由于其良好的可扩展性和性能,被 Apple(苹果)、Comcast(康卡斯特)、Instagram(照片墙)、Spotify(声田)、eBay(易贝)、Rackspace、Netflix(奈飞)等知名网站和企业所采用,成为了一种流行的分布式结构化数据存储方案。


3、 MongoDB:是一个基于分布式文件存储、面向文档的NoSQL数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,它是非关系数据库当中功能最丰富、最像关系型数据库的,支持的数据结构非常松散,是一种类似json的BSON格式。


分享标题:Redis是一种什么样的数据库?
分享链接:http://kswjz.com/article/cjdig.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流