一、Redis的安装

首先需要下载redis的安装包,可以直接通过wget命令,直接将安装包下载到Linux系统,也可以通过官网进行下载:https://redis.io/download

  1. yum install wget
  2. wget http://download.redis.io/releases/redis-5.0.5.tar.gz
  3. tar -zxvf redis-5.0.5.tar.gz
  4. cd redis-5.0.5
  5. yum -y install gcc
  6. make MALLOC=libc


启动Redis服务器端

cd src
./redis-server ../redis.conf

image.png

我们可以观察到启动成功之后我们没有办法进行任何操作,我们可以在redis.conf文件中配置后台启动,将deamonize的值设置为yes.

image.png

这样重新启动redis就可以看到,redis在后台启动了

image.png

二、Redis特性

2.1 支持的数据类型:

String、 List、 Hash、 Set、 SortedSet

数据类型 描述
String 是Redis最基本的类型,由于是二进制存储,所以,它可以包含任何数据。单个value的最大上限是1G。理论上来说,我们在使用Redis的时候,可以仅仅使用String来完成任何操作,甚至有些工程就是这样做的。但是,这样一定会失去一些便利性与性能。我们应该只用String去存储一些独立的内容,即Redis中的多个String不应该有关联关系。
List 列表,也可以理解为队列,用于存储序列集合。List不要求元素唯一。适合存储一系列有顺序要求的数据。Redis中的List其实是一个双向链表实现的,通过push、pop操作从链表的头部或者尾部添加删除数据。所以,可以把它当作栈,也可以当做队列。
Hash 在redis中叫做字典,用于存储多个kv数据,且这些kv数据是属于一类的。例如:hash类型常常被用于存储一个人的信息,可以有姓名、年龄、性别等等。我们在使用Hash类型的时候,可以把它想象成Java中的HashMap去使用,用于存储比较复杂的数据结构。
Set 无序的方式存储多个不同的元素,对元素可以进行快速的添加、查找和删除。相同的元素只算一个,且可以包含2的32次方减1个元素。所以,在容量上,几乎不需要去考虑溢出的问题。set集合类型除了基本的添加删除操作,其他有用的操作还包含集合的取并集,交集,差集。最后,就是需要注意,set中的每个元素不能是重复的。
SortSet 它与Set类型很像,也是String类型元素的集合。不同的是每个元素都关联一个浮点数类型的权重值。通过权重值可以有序(数字顺序)的获取集合中的元素。如果两个元素的权重值是一样的,那就按照元素的字节顺序排列先后。SortedSet最常应用的场景是排行榜这类应用。例如,SortedSet中存储系统中的用户,并且把每个用户的积分设置为权重值。按照自定义的顺序排列,就得到了用户排行榜。

2.2 redis特性

image.png

RDB保存数据,AOF保存命令。

image.png

2.3 redis-I/O模型

image.png

image.png

与操作系统相关,不一定所有操作系统,都有比较好的系统调用函数,比如在windows上只能调用select,select性能比较差,一般都是备选方案,所以redis一般部署在linux上,而不会部署在redis上。

image.png