回顾
Redis是一个在内存中存储数据的中间件,可以用来当数据库用,也可以作为缓存用(这里的缓存往往是对数据库缓存)。
中间件:和业务无关的服务,功能更加通用,如:数据库,缓存,消息队列
数据库缓存:在金融领域中有一个“二八定律”,在互联网中也使用,指的是20%的数据可以满足80%的请求,由于Redis是纯内存的,空间不能很大,而数据库相较于Redis访问速度比较慢,因此可以将20%的热点数据进行缓存在Redis中,而剩下的冷数据存储在数据中即可。当请求过来先检查是否是热点数据,如果不是再去访问数据库,这样就能整体提高效率了。
Redis特性
1.In-memory data structures(内存数据结构)
Redis是通过键值对("Key-Value")的方式来组织数据的,Key都是String类型,Value是String、Hash、Set等类型。
在MySQL中主要是通过“表”的形式来组织数据的,MySQL也被称为"关系型数据库"。
在Redis中主要是通过"键值对"的形式来组织数据的,Redis也被称为"非关系型数据库"。
2.Programmability(可编程的)
Redis的操作,可以直接通过简单的交互式命令进行操作,也可以通过一些脚本,批量执行一些操作。
3.Extensibility(可扩展的)
可以在Redis原有的功能基础上再进行扩展。Redis本身提供了一组API,程序猿可以使用C、C++、Rust这些语言编写扩展功能。
4.Persitence(持久化)
虽然Redis是把数据存储在内存上的,但是内存上的数据一旦重启或掉电以后就没了,所以Redis也支持将数据存储在硬盘中,以内存为主,硬盘为辅,后续重启了服务,可以从硬盘中将数据恢复到内存上。
5.Clustering(集群)
Redis本身也是支持集群的,一个Redis能存储的数据是有限的,那么可以引入多个主机,部署多个Redis节点,每个Redis存储数据的一部分。
6.High availability(高可用的)
这里的高可用也意味着冗余,指的是有多个Redis节点存储的数据相同,一旦有一个Redis节点发生故障,另一个节点就立即顶上,Redis也是支持主从结构的,从节点可以从主节点那自动备份数据,这样虽然会造成冗余,但可以提高可用性。
7.Fast(快)
Redis最主要的特性还是因为快!
原因:
1.Redis是将在内存中存储数据的,相较于访问硬盘的数据库而言,要快很多
2.Redis的核心功能都是比较简单的去操作内存上的数据,而数据库需要考虑的东西很多
3.Redis实现了IO多路复用,使用一个线程管理多个Socket
4.Redis使用的是单线程模型,减少了不必要的线程之间的竞争开销
5.Redis底层使用的是C语言开发的,比较快,但MySQL也是用C语言开发的,所以这不是根本原因~
Redis的安装
以下安装是针对于Unbuntu系统
1.首先切换到root用户
2.使用apt命令来搜索相关软件包
apt search redis
3.使用apt安装redis
apt install redis
4.切换到redis客户端,ping本地回环主机服务器,测试是否安装完成
redis-cli
当显示PONG的时候代表安装完成了。
不过我们的redis只能在本地主机上通信,要想实现跨主机的方式,还需要再修改一下配置。
首先我们进入redis的配置文件
cd /etc/redisvim redis.conf
最后重启一下redis即可。
#重启redis服务器
service redis-server restart#查看redis服务器的状态
service redis-server status
最终显示如下信息,表明redis修改成功了~
最后
下一篇将会讲解Redis的基本指令~