Linux下编译安装最新稳定版Redis

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: Linux下编译安装最新稳定版Redis
  • 支持各类Linux发行版,支持ARM端


1.下载


在编译前请安装必要的软件包:

# CentOS/Rhel
yum -y install git wget gcc
# Ubuntu
sudo apt-get install git wget gcc

从官网上下载最新的redis稳定软件包,下载完成之后备用:

wget https://download.redis.io/redis-stable.tar.gz

解压:

tar -xf redis-stable.tar.gz && cd tar -xf redis-stable


2.编译安装


编译已经解压的redis:

make && make install

编译会根据自己电脑的配置花费不同的时间,请耐心等待,编译完成后会自动安装。

image.png


3.执行测试(可选)


在执行测试make test前需要安装tcl工具,如果你的系统是CentOS/Rhel系统,可以执行以下命令安装:

yum -y install tcl

如果是Ubuntu系统,需要下载后编译安装此工具。

wget https://udomain.dl.sourceforge.net/project/tcl/Tcl/8.6.1/tcl8.6.1-src.tar.gz
tar -xf tcl8.6.1-src.tar.gz
cd unix/
./configure
make
make install

以下完成之后,再次执行make test命令:

make test

测试的过程可能花费的时间会很长,耐心等待之后如果出现“\o/ All tests passed without errors!”的字样,则说明Redis编译安装成功。

image.png


4.配置


回到redis源代码目录,将redis配置文件拷贝到配置目录中:

cp redis.conf /etc/

新建日志地址:

mkdir -p /usr/local/redis/logs
touch  /usr/local/redis/logs/redis.log

配置redis配置文件:

vim /etc/redis.config

将下面的配置文件配置到末尾,也可以直接修改原有的配置。

# 定义日志文件
logfile "/usr/local/redis/logs/redis.log"
# 若使用开机启动,生成pid,该项必须设置为yes,否则redis将不能够正常执行开机启动(systemctl start redis,执行后一直卡着,直到超时)
daemonize yes    
# 注释掉,允许所有其他ip访问,也可以设置网段访问
#bind 127.0.0.1  
#允许其他机器上的客户端连接当前redis,配置文件设置该项,则开机启动处就可以去掉--protected no 
protected-mode no 
# db保存路径,由于db持久化到磁盘,占用空间可能比较大,所以选择比较打的文件夹设置
dir /usr/local/redis/ 
##设置密码
requirepass 123456

设置为开机启动:

vim /usr/lib/systemd/system/redis.service

将以下内容粘贴进去。

[Unit]
Description=Redis persistent key-value database
After=network.target
After=network-online.target
Wants=network-online.target
[Service]
ExecStart=/usr/local/bin/redis-server /etc/redis.conf --protected-mode no
ExecStop=/usr/local/bin/redis-cli shutdown
#Restart=always
Type=forking
#User=redis
#Group=redis
RuntimeDirectory=redis
RuntimeDirectoryMode=0755
[Install]
WantedBy=multi-user.target

使配置生效:

systemctl enable redis
systemctl daemon-reload

启动redis:

systemctl start redis

检查启动日志,如果没有报错正常启动则正常,也可以像我一样手动启动来检查:

tail -f /usr/local/redis/logs/redis.log


image.png


如果有警告,也可以根据警告修改内核参数:

vim /etc/sysctl.conf

粘贴以下内容:

vm.overcommit_memory=1
net.core.somaxconn = 1024

使配置生效:

sysctl -p

进制内核中启用Transparent Huge Pages(THP)支持,防止Redis延迟和内存使用问题

echo never > /sys/kernel/mm/transparent_hugepage/enabled

最后,重启一下redis,就可以愉快地玩耍了!

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
8天前
|
NoSQL Linux Redis
linux安装单机版redis详细步骤,及python连接redis案例
这篇文章提供了在Linux系统中安装单机版Redis的详细步骤,并展示了如何配置Redis为systemctl启动,以及使用Python连接Redis进行数据操作的案例。
19 2
|
1月前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
8天前
|
NoSQL Linux Redis
linux之centos安装redis
linux之centos安装redis
|
2月前
|
缓存 NoSQL Linux
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
|
29天前
|
NoSQL Linux Redis
Linux Redis 服务设置开机自启动
【9月更文挑战第2天】在 Linux 系统中,可使用两种方法设置 Redis 开机自启动:一是通过创建 `redis.service` 文件并利用 systemd 进行管理,包括定义服务参数和启动脚本;二是编辑 `/etc/rc.local` 文件,在其中添加启动命令。推荐使用 systemd 方法,因为它更符合现代 Linux 系统的设计理念。设置完成后,可通过 `sudo systemctl status redis.service` 检查服务状态。
|
2月前
|
缓存 NoSQL Linux
【Azure Redis 缓存】Linux VM使用6380端口(SSL方式)连接Azure Redis (redis-cli & stunnel)
【Azure Redis 缓存】Linux VM使用6380端口(SSL方式)连接Azure Redis (redis-cli & stunnel)
|
2月前
|
NoSQL 数据可视化 Linux
一文教会你如何在Linux系统中使用Docker安装Redis 、以及如何使用可视化工具连接【详细过程+图解】
这篇文章详细介绍了如何在Linux系统中使用Docker安装Redis,并提供了使用可视化工具连接Redis的步骤。内容包括安装Redis镜像、创建外部配置文件、映射文件和端口、启动和测试Redis实例、配置数据持久化存储,以及使用可视化工具连接和操作Redis数据库的过程。
|
3天前
|
Linux Python Perl
Linux命令删除文件里的字符串
Linux命令删除文件里的字符串
15 7
|
4天前
|
Shell Linux
Linux shell编程学习笔记82:w命令——一览无余
Linux shell编程学习笔记82:w命令——一览无余
下一篇
无影云桌面