环境准备:CentOS7.9
准备软件:Redis7.0.8
一、Redis简介
Redis基于内存运行并支持持久化,采用key-value(键值对)的存储形式
二、Redis优点
1、具有极高的数据读写速度
redis是将数据存放到内存中,由于内容存取速度快所以redis被广泛应用在互联网项目中,redis有点:存取速度快,官方称读取速度会达到30万次每秒,写速度在10万次每秒最有,具体限制于硬件。
2、支持丰富的数据类型
redis是用C语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型如下:
字符串类型 散列类型 列表类型 集合类型
3、支持数据的持久化
即可以将内存中的数据异步写入到硬盘中,同时不影响继续提供服务。
缺点:对持久化支持不够良好。
所以redis一般不作为数据的主数据库存储,一般配合传统的关系型数据库使用
4、原子性---redis的所有操作都是原子性的
5、支持数据备份---master-slave模式的数据备份
6、功能丰富
Redis可以为每个键设置生存时间,时间到期后该键被自动删除,这一功能配合出色的性能让Redis可以作为缓存系统来用。作为缓存系统,Redis还可以限定数据占用的最大内存空间,在数据达到空间限制后可以按照一定的规则自动淘汰不需要的键。
Redis的列表类型键可以用来实现队列,并且支持阻塞式读取,可以很容易的实现一个高性能的优先级队列。Redis还支持“发布/订阅”的消息模式。
二、部署Redis7.0.8
安装Redis依赖包
[root@localhost ~]# yum -y install gcc tcl
下载redis安装包
[root@localhost ~]# https://codeload.github.com/redis/redis/tar.gz/refs/tags/7.0.8
上传并解压Redis源码包
[root@localhost ~]# tar zxvf redis-7.0.8.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/redis-7.0.8/
[root@localhost redis-7.0.8]# make && make install PREFIX=/usr/local/redis
[root@localhost redis-7.0.8]# echo $? #查看返回值是否为0,为0表示安装成功,其他表示失败
[root@localhost redis-7.0.8]# cp redis.conf /usr/local/redis/bin/
[root@localhost redis-7.0.8]# cd /usr/local/redis/bin/
[root@localhost bin]# ls
redis-benchmark redis-check-aof redis-check-rdb redis-cli redis.conf redis-sentinel redis-server
[root@localhost ~]# ln -s /usr/local/redis/bin/* /usr/bin/
[root@localhost bin]# ./redis-server redis.conf #前台启动(不推荐,因为会卡在这个界面)
允许redis服务通过防火墙规则
[root@localhost ~]# firewall-cmd --add-port=6379/tcp --permanent
[root@localhost ~]# firewall-cmd --reload
后台启动(推荐)
[root@localhost bin]# vim redis.conf
把daemonize no 改为yes
改前:
改后:
##本地快照数据库存放目录
##关闭redis的保护模式
##设置redis登录密码
##允许任何人登录
保存后退出,然后指定配置文件启动Redis:
[root@localhost bin]# mkdir /usr/local/redis/var
[root@localhost bin]# ./redis-server redis.conf
[root@localhost bin]# netstat -anptu | grep 6379
设置以systemd service启动Redis
编写systemcd启动脚本
[root@localhost ~]# vim /etc/systemd/system/redis.service
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
[root@localhost ~]# kill -9 6453 #先杀掉Redis进程
重新加载系统服务
[root@localhost ~]# systemctl daemon-reload
设置开机自启
[root@localhost ~]# systemctl enable redis --now #--now的意思是设置开启自启并启动redis服务
[root@localhost ~]# netstat -anptu | grep redis
启动,停止,卸载,查看状态
#启动redis服务
systemctl start redis
#停止redis服务
systemctl stop redis
#查看redis服务
systemctl status redis