Redis简介

一、Redis简介

  1、Redis 是完全开源免费,遵循BSD协议,是一个高性能的Key-value数据库。

  2、使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库

  特点:

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

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

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

二、Redis八大特性:

  1、速度快

    Redis由C语言实现,所有数据存在内存中

  2、持久化

    所有数据存储在内存中,对数据的更新将异步地保存在磁盘上。

  3、支持多种数据结构

    Redis支持的五种数据结构:String、List、Set、Hash、Zset

  4、支持多种语言编程

    Java、PHP、Python、Ruby

  5、功能丰富

    支持事务、流水线、发布/订阅、消息队列等功能

  6、源码简单

    约23000行源代码

  7、主从复制

    主服务器执行添加、修改、删除,从服务器执行查询

  8、高可用及分布式

    Redis-Sentinel(v2.8)支持高可用 :

      一台服务器挂掉会有另一台服务器立马顶上,Redis-Sentinel监听所有的监听所有的Redis主从服务器,一旦发现主服务器挂掉了,他会从若干服务器中选择一台新的机器作为master,其他从服务器会成为这台新master的从服务器。

    Redis-Cluster(v3.0)支持分布式 :

      把数据A放到计算机C1的数据库D1,把数据B放到计算机C1的数据库D2,把数据C放到计算机C3的数据库D3也属于分布式,这种分布式解决方案扩展性好,如果系统增加了新业务X,X产生的数据Y可以放到计算机C4的数据库D4中,理论上来说这种方式可以无限扩展,从而保证系统的性能最大化。

三、Redis与其他key-value存储的不同

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

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

    

原文地址:https://www.cnblogs.com/MoonlightMaleGod/p/9601200.html