redis数据库的介绍以及安装部署
一.redis数据库的介绍
借助nginx的upstream模块实现后端服务的负载均衡,如果后端服务采用的是会话的机制来识别客户端的身份,如果使用的调度算法是轮询算法的话,其中我们需要去做的就是实现后端服务的会话保持。
第一种换调度算法,
第二种在服务器的后端,设置一个会话的共享存储。【现在主流的方案就是给后端服务器设置一个redis数据库。】
一.redis数据库介绍
Nosql 【nosql不是一款软件的名称,而是一类数据库软件的称呼。都是基于内存来读取数据的,】
nosql not only sql 非关系型数据库
1.关系型数据库,非关系型数据库的区别
1.非关系型数据库的读写速度要比关系型数据库的读写速度要快得多。
单台MySQL服务器并发连接能够达到600-1000
redis数据库每秒处理的并发连接数,能够达到30万左右。
性能高,速度快
非关系型数据库所有的数据都是在内存中存储的。
1.非关系型数据库基于内存存储数据的,
2.摒弃了关系型数据的约束限制。
3.采用o1算法进行开发设计【o1是一种软件设计算法的名称】
软件设计算法:从最块到最慢
01,ologn,on,on^2
2.作用
关系型数据库: MySQL,Oralce,SQL,server。postgresql
1.数据持久化存储
非关系型数据库:
1.缓存服务器【缓存的目的是就是为了加速,加速客户端的访问速度,加速服务器的查询速度。】
如上图所示,redis服务器的典型应用就是为了在业务架构中充当缓存服务器使用。
2.作为会话数据的共享存储,实现会话保持
3.特性
1.跨平台,开源软件
2.非关系型数据库在存储数据的时候都是以数据表的形式存储数据的。而所有的NoSQL都是以键值对【key-value】的方式来存储数据,
3.基于内存来存储数据
4.redis数据库不仅可以基于内存存储数据,同时还支持数据持久化存储。
redis数据库的数据持久化存储具体怎么实现?
第一种是使用rdb数据文件来实现数据的持久化存储。
第二种是aof日志,类似于MySQL的二进制日志,记录的是redis数据库中所有的写操作。
5.支持主从复制,分片集群
6.支持多实例部署
7.支持多种数据类型
8.支持主从复制
9.支持事务
redis的官方网站是redis.io网站
二.redis安装部署
1.redis安装
redis软件基于C语言开发
NoSQL数据库都是基于内存来存储数据的。
在实际应用部署reids的时候至少要求机器有64G内存
如上图所示,基于C语言编写的redis软件,首先我们需要去下载gcc编译器。
如上图所示,这是redis软件包的下载
如上图所示,此时我们到redis的解压目录下,随后运行make命令直接去编译这个redis工具。
如上图所示,编译完成之后,就可以直接安装redis软件了,此时指定安装目录,
如上图所示,此时在redis的安装目录下只有一个bin目录,这个bin目录中保存着一些redis的相关命令。
如上图所示,这是redis压力测试的命令。
如上图所示,这是用来连接redis数据库的命令。
如上图所示,这是用来启动redis数据库的命令。
如上图所示,我们在redis的解压目录下新创建一个目录,这个目录用来保存redis的配置文件,我们在redis的解压目录下可以看到一个redis的配置文件,我们将这个配置文件,复制到redis安装目录下的conf目录下,至此redis就有了配置文件。我们可以使用这个redis配置文件给redis软件做一些功能上的配置,
2.redis启动管理
如上图所示,为了方便我们使用redis命令,我们在文件/etc/profile中添加一下环境变量。
如上图所示,redis软件的启动就是启动命令之后跟上redis的配置文件,
如上图所示,这就相当于是redis软件的前台启动,当我们敲下ctrl+c终止这条命令,redis软件就关闭了。
如上图所示,如果想设置redis的开机自启动,就把redis的启动命令设置在这个文件中就好了,
如上图所示,这是两种启动redis软件的方式,分为前台启动和后台启动。
3.关闭redis软件
如上图所示,这是关闭redis软件。
4.redis基本数据读写操作
如上图所示,这是在redis软件中基本的数据读写操作,
即使用set命令可以存储一组键值对,
使用mset命令可以储存多组键值对,
使用get命令可以读取这个键值对的值,
并且可以使用EX来设置这组键值对数据,储存的时间,
redis软件中的读写操作,对运维人员并不太重要,主要对开发人员比较重要。
如上图所示,这是查看redis数据库中所有的数据。
如上图所示,这是删除一个数据,
如上图所示,这是在redis数据库中一个键可以储存多个数据。
这是使用get可以将这个键中的数值获取到。
如上图所示,这是在redis数据库中对键对应的数值,进行自增和自减的操作。
5.redis数据库中的事务
如上图所示,在redis软件所做的操作都不会真正生效,都会先储存到队列中。
其中的指令multi表示的是启动事务,其中的exec表示的是提交事务。
如上图所示,如果事务中存在着错误操作,那么当提交事务的时候,事务会被自动回滚到启动事务之前的状态。
redis软件中的默认数据库【数据库名称是0-15】
业务A 1
业务B 2
如上图所示,我们可以使用select来切换数据库,当我们切换到别的数据库时,再去查看键的数值,只会显示为空,