初识Redis---Redis的特性介绍
Redis是一个可以在内存中存储数据的中间件,可以用于作为数据库,也可以用作为数据缓存等等功能,合理的使用Redis,能够在分布式系统中大展拳脚
1.Redis特性介绍
1.最大的特点---速度快
访问和获取Redis中存储的数据快是Redis的一个最大特性
为什么访问和获取Redis中的数据速度快呢?
1.因为Redis中的数据是存储在内存中的,这样就比将数据存储在硬盘中的速度快
2.因为Redis的核心功能都是比较简单的逻辑,核心功能都是比较简单的操作内存中的数据结构
3.因为Redis采用的是单线程模型,这就避免了多线程模型中多个线程之间的竞争开销
4.从网络的角度来说,Redis采用了IO多路复用的方式,简单来说就是一个线程管理多个socket
5.因为Redis使用C语言开发的(持怀疑态度)
2.内存数据结构
Redis是通过一些类的数据结构将数据存储在内存中,Redis中主要是通过“键值对”的形式来存储数据的,是一种非关系型数据库。在Redis中,所有的key都是String类型,而value不仅可以是字符串,也可以是具体的数据结构,value主要是提供5中数据结构类型,分别是字符串(string)、哈希(hash)、列表(list)、集合(set)、有序集合(orderd set/zet),这样不仅能够便于在许多应用场景中使用,同时也能够提高开发效率
3.可编程性
可编程性也就是,针对redis的操作,可以直接通过简单的交互式命令进行操作,也可以通过一些脚本的方式(Lu编程语言),批量执行一些操作,这些操作可以带有一些逻辑
4.拓展性
拓展性就是Redis中提供了一组API,可以让我们在Redis原有的功能基础上去拓展新的功能
5.数据持久化
Redis是将数据存储在内存中的,这样就会有一个缺点,就是当程序重启时,存储在内存中的数据就会丢失,为了解决内存数据容易丢失的问题,Redis也会把数据存储到硬盘中,相当于是将内存中的数据备一份到硬盘中,是一种内存为主,硬盘为辅,如果Redis重启了,就会在重启时加载硬盘中的数据,使Redis恢复到重启之前的状态。
且Redis中提供了两种持久化方式:RDB和AOF
6.集群性
作为分布式系统中的一个中间间,Redis支持集群分布是一个很重要的特性,集群性类似于分库分表,比如,因为内存空间有限,就导致一个机器上的redis存储的数据是有限的,但是可以引入多台机器,部署多个Redis节点,让每个Redis节点存储一部分数据
7.高可用性
高可用性也可以理解为备份,Redis自身是支持“主从结构”的,从节点就相当于主节点的备份。