CentOS安装Redis

本文详细介绍了如何在CentOS7上安装Redis,包括下载安装包、编译安装、设置环境变量、转换为服务以及配置开机启动。此外,还讲解了如何修改Redis配置文件以满足不同需求,如守护进程运行、端口设置、最大内存限制等。
摘要由CSDN通过智能技术生成


一、安装环境

由于redis是有C语言开发的,所以先确保centos上有gcc环境

 yum install -y gcc

二、下载安装包

1.wget下载

wget http://download.redis.io/releases/redis-6.2.1.tar.gz // 直接下载至centos上

2.手动下载

官网下载redis安装包,你可以前往redis官网https://redis.io/,下载最新的安装包,注意centos上一般是tar.gz格式的。
redis官网

然后将该安装包转移至centos7上,并且将其解压。转移可以使用xftp进行传输

tar -zxvf redis-6.2.1.tar.gz   // 这是解压命令

在这里插入图片描述


三、安装redis

1.进入解压目录编译redis文件

使用make进行编译redis文件,然后就开始编译,这个时间可能会有点久,大概50秒左右

cd redis-6.2.1  // 进入目录
make            // 编译

在这里插入图片描述
进入src,启动redis

此时可以启动redis服务了,使用./redis-server,就可以前台启动redis了。

以及使用ps -ef | grep redis可以看到redis进程在跑。

在这里插入图片描述
在这里插入图片描述

四、将redis转成服务

虽然这样可以启动redis服务了,但并不是很方便,
因为你每次都要进入redis-server所在目录,执行./redis-server才能启动redis

1.安装路径

进入redis-6.2.1/src目录下,
然后输入make install PREFIX=/opt/redis6,
将安装目录放到/opt/redis6下面(当然提前创建好相应目录)

make install PREFIX=/opt/redis6

在这里插入图片描述

2.配置环境变量

export REDIS_HOME=/opt/redis6
export PATH=$PATH:$REDIS_HOME/bin

在这里插入图片描述

配置好之后编译一下配置文件 source /etc/profile

3. 进入utils文件目录

进入utils目录下执行install_server.sh文件

在这里插入图片描述
在这里插入图片描述
但是你直接执行可能会抛出错误
在这里插入图片描述
解决方案是,你需要更改这个shell文件,并注释掉其中一些代码,将下图中的代码注释掉。
在这里插入图片描述

vi ./install_server.sh  // 进入shell文件

#bail if this system is managed by systemd
#_pid_1_exe="$(readlink -f /proc/1/exe)"
#if [ "${_pid_1_exe##*/}" = systemd ]
#then
#       echo "This systems seems to use systemd."
#       echo "Please take a look at the provided example service unit files in this directory, and adapt and install them. Sorry!"
#       exit 1
#fi
然后再次执行./install_server.sh, 
成功后你就会进入如下图所示的界面,一般来说如果你认同它默认的设置,
比如端口默认为6379,配置文件路径默认为/etc/redis/6379.conf等等,
那你就直接回车键一路敲下去,
当然如果你不认同就可以在我画出来的红框的地方写上自己的配置。

在这里插入图片描述
这样你的服务就好了,接下来就是启动服务了。

4.启动服务

在这里插入图片描述

你直接输入service redis_6379 start 即可启动服务。

service redis_6379 start
service redis_6379 restart
service redis_6379 stop

但是这边有一个需要注意的点,就是你启动redis服务之后,
你不是通过stop方式关闭的而是通过kill -9 方式关闭的时候,你再启动时会启动报错,如下图:
在这里插入图片描述
它会说redis_6379.pid已经存在,这时候直接将其删除即可

rm -rf /var/run/redis_6379.pid  // 先删除该pid
service redis_6379 restart      // 然后重新启动即可

在这里插入图片描述

5.服务开机自启动

chkconfig redis on    // 开机自启
chkconfig redis off   // 取消开机自启

五、redis配置文件修改

此处将会介绍redis配置文件的常见修改,
当然因为之前已经将其转成服务了,
所以我们修改的配置文件的实际路径应该不是在原来的src目录下的那个了,
而是在 /etc/redis/6379.conf 这个目录下
其实我们可以先将该文件复制到我们本地桌面上,改好之后再传输上去覆盖原来的conf文件
另外的好处是因为本地的软件基本都比较强大,比如像vscode这种,所以能更好的查找、替换和修改。
1. Redis默认不是以守护进程的方式运行,我们此处可以修改为以守护进程形式
	daemonize no  -->  daemonize yes
2. 端口修改 port 6379 
3. 绑定的主机地址  
   bind * -::*
# Examples:
# bind 192.168.1.100 10.0.0.1     # listens on two specific IPv4 addresses
# bind 127.0.0.1 ::1              # listens on loopback IPv4 and IPv6
# bind * -::*                     # like the default, all available interfaces
4. 当客户端限制多久之后关闭,如果数值为0,那就是关闭此功能
 	timeout 300
5. 指定日志就级别,Redis总共支持四个级别:debug、verbose、notice、warning,默认为verbose
	loglevel verbose
6. 设置数据库的数量,默认为0,可以使用select <dbid> 命令在连接上指定数据库id
	databases 16
7. 保存和同步RDB快照  save <seconds>  <changes>
	Redis 默认配置文件中提供了三个条件
	save 900 1    // 900秒有一个更改
	save 300 10   // 300秒内有10个更改
	save 60 10000  // 60秒内有10000个更改
8.  最大内存限制,达到最大内存限制之后,将无法再进行写入操作,但可以读 
	maxmemory <bytes>
9. 最大客户端连接数
	maxclients 128 
10. 指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,
	如果不开启,可能会在断电时导致一段时间内的数据丢失。
	因为 redis本身同步数据文件是按上面save条件来同步的,
	所以有的数据会在一段时间内只存在于内存中。默认为no
	appendonly no
11. 指定更新日志文件名,默认为appendonly.aof
	appendfilename appendonly.aof
12. 指定更新日志条件,共有3个可选值:
  no:表示等操作系统进行数据缓存同步到磁盘(快)
  always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全)
  everysec:表示每秒同步一次(折衷,默认值)
  appendfsync everysec 
  一般来说每秒写,everysec就可以了,既能保证一定的吞吐,就算断电最多丢一秒数据,可以接受。
  如果是always,那么你的redis的吞吐量将会降低成mysql水平,
  如果是no,那么就会有很大的不确定性,到时候会根据os cache自己的策略去写入aof中
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值