Redis分布式集群--Redis的优势

Redis

Redis(全称:Remote Dictionary Server 远程数据服务)是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、 Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助

Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set–有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,Redis支持各种不同方式的排序。与Memcached一样,为了保证效率,数据都是缓存在内存中。区别的是Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步

Redis 是一个高性能的key-value数据库。 Redis的出现,很大程度补偿了Memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便

Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助

Redis分布式集群--Redis的优势_第1张图片

RedisMysql的区别

1、Mysql和Redis的数据库类型

Mysql是关系型数据库,主要用于存放持久化数据,将数据存储在硬盘中,读取速度较慢

Redis是NOSQL,即非关系型数据库,也是缓存数据库,即将数据存储在缓存中,缓存的读取速度快,能够大大的提高运行效率,但是保存时间有限

2、Mysql的运行机制

Mysql作为持久化存储的关系型数据库,相对薄弱的地方在于每次请求访问数据库时,都存在着I/O操作,如果反复频繁的访问数据库

第一:会在反复链接数据库上花费大量时间,从而导致运行效率过慢;

第二:反复的访问数据库也会导致数据库的负载过高,那么此时缓存的概念就衍生了出来

3、缓存

缓存就是数据交换的缓冲区(cache),当浏览器执行请求时,首先会对在缓存中进行查找,如果存在,就获取;否则就访问数据库

缓存的好处就是读取速度快

4、Redis数据库

Redis数据库就是一款缓存数据库,用于存储使用频繁的数据,这样减少访问数据库的次数,提高运行效率

Mysql是关系型数据库,Redis是缓存数据库

Mysql用于持久化的存储数据到硬盘,功能强大,速度较慢

Redis用于存储使用较为频繁的数据到缓存中,读取速度快

Mysql和Redis因为需求的不同,一般都是配合使用

SQLNoSQL的区别

Redis分布式集群--Redis的优势_第2张图片

Redis的开源性

Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets)与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRUeviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)

Rediskey-value数据库

Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库

Redis 与其他 key - value 缓存产品有以下三个特点:

Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用

Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储

Redis支持数据的备份,即master-slave模式的数据备份

Redis 优势

性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s

丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets
数据类型操作

原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行

丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性

Redis与其他key-value存储有什么不同

Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据 结构的同时对程序员透明,无需进行额外的抽象

Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,应为数据量不能大于硬件内存。在内存数据库方面的另一个优点是,相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事 情。同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问

你可能感兴趣的:(Redis,Redis)