准备好一个新创建出来的Linux系统环境
访问https://redis.io
复制下载压缩包地址
省流助手最新版Redis(2021.12.22)
虚拟机安装wget命令
yum install wget
添加目录并进入目录中
mkdir soft cd soft/
通过wget命令下载redis的压缩文件
# wget https://download.redis.io/releases/redis-6.2.6.tar.gz
通过命令解压缩
tar xf redis-6.2.6.tar.gz
进入redis目录
cd redis-6.2.6
可以查看帮助文档
https://download.csdn.net/download/m0_46787992/68944601
然后按照帮助文档先使用make命令
[root@localhost redis-6.2.6]# make
这时一定会报错,是因为没有安装gcc
[root@localhost redis-6.2.6]# yum install gcc
安装完gcc后,重新make
重新make之前需要清除一下之前编译出错的临时文件
make distclean
这时src目录下就有了很多的可执行程序
# cd src # ll
运行redis-server
# ./redis-server
首先需要安装覆盖到一个文件夹中
[root@localhost redis-6.2.6]# make install PREFIX=/opt/lijinke/redis6
这回将redis的一些可执行文件迁出到一个目录中
这样做的好处是避免可执行程序的文件和源码混放在一起
[root@localhost redis6]# cd /opt/lijinke/redis6/bin/ [root@localhost bin]# ls redis-benchmark redis-check-rdb redis-sentinel redis-check-aof redis-cli redis-server
在tuils目录下会有一个脚本
# cd utils/ # ls
这个文件的功能就是将redis安装为一个服务
执行这个文件之前需要声明可执行文件是在哪个目录中
# vi /etc/profile
到profile的最后一行添加以下内容
export REDIS_HOME=/opt/lijinke/redis6 export PATH=$PATH.$REDIS_HOME/bin
接着执行以下内容
# source /etc/profile # echo $PATH
这样redis 的环境变量就配置好了
现在到redis的utils目录中执行install_server.sh
# ./install_server.sh
Linux安装Redis 6.0.5 ./install_server.sh报错
此时会提示指定端口号
Welcome to the redis service installer This script will help you easily set up a running redis server Please select the redis port for this instance: [6379]
一个物理机可以运行一个redis也可以运行多个redis
他们之间用端口号进行区分
不指定端口号的话会使用redis的默认端口号6379
然后会提示为当前启动的服务准备一个配置文件,默认为/etc/redis/6379.conf
Please select the redis config file name [/etc/redis/6379.conf]
日志文件 默认为/var/log/redis_6379.log
Please select the redis log file name [/var/log/redis_6379.log]
数据目录 默认为/var/lib/redis/6379
Please select the data directory for this instance [/var/lib/redis/6379]
没有需要修改的就一直回车即可
这段提示信息提示的是已经刚刚配置的内容放到一个文件中去了
并且启动了端口号为6379的redis服务
因此在/etc/init.d文件夹中一定是生成了一个redis的脚本
现在就可以在任意目录启动redis了
# service redis_6379 status
想要启动多个redis再回到redis的utils中执行install_server.sh分配另一个端口号即可
物理机需要启动多个redis实例,但只在opt中放了一份程序,
内存中出现个进程,他们来自不同的配置文件(多个副本)
查看redis启动状态
# ps -fe |grep redis
这里引出一个问题:redis是基于内存的数据库,为什么还会有一个磁盘目录来存数据呢
因为触发内存的软件都必须触发持久化的功能
Redis面试题集