中间件 redis安装

redis官网地址:Redis - The Real-time Data Platform

环境

CentOS Linux release 7.9.2009 (Core)

java version "17.0.12" 2024-07-16 LTS

1、通过压缩包安装redis

1,远程下载redis压缩包,或去官网下载:Downloads - Redis

复制代码
wget https://download.redis.io/releases/redis-7.4.1.tar.gz

2,解压文件

复制代码
tar -zxvf redis-7.4.1.tar.gz 

3、进入到 redis-7.4.1目录中

复制代码
cd redis-7.4.1

4、编译Redis

编译

由于redis是c语言编写的,所以我们需要先安装gcc,安装的命令如下:

复制代码
yum install gcc-c++
复制代码
make 

编译,报错

复制代码
which: no python3 in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/home/tools/jdk17/bin:/root/bin)
make[1]: 进入目录“/home/tools/redis/redis-7.4.1/src”
    CC threads_mngr.o
In file included from server.h:58:0,
                 from threads_mngr.c:15:
zmalloc.h:29:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录
 #include <jemalloc/jemalloc.h>

解决方案:

1、make 时指定分配器为libc

复制代码
make MALLOC=libc

2、安装jemalloc分配器

  1. 安装jemalloc

    复制代码
    wget https://github.com/jemalloc/jemalloc/releases/download/5.0.1/jemalloc-5.0.1.tar.bz2
    bash 复制代码
    yum install bzip2
    tar -jxvf jemalloc-5.0.1.tar.bz2
    cd jemalloc-5.0.1
    yum install autogen autoconf
    ​
    ./autogen.sh
    make -j2
    make install
    ldconfig
    cd ../
    rm -rf jemalloc-5.0.1 jemalloc-5.0.1.tar.bz2
    复制代码
  2. 重新编译 首先删除之前已经解压的 redis 包,重新解压。然后在执行 make 和 make install 即可。

原文链接:redis 编译报致命错误:jemalloc/jemalloc.h:没有那个文件或目录_jemalloc.h 没有那个文件或目录-CSDN博客

5、指定目录安装

make install PREFIX=/home/tools/redis/install-redis (PREFIX也可以不加)

6、启动redis

进入安装目录 cd install-redis /或者src

cd install-redis/src

复制代码
#启动redis
./redis-server 
# 启动redis服务端,指定配置文件的位置
./redis-server /home/tools/redis/redis-7.4.1
    --有命令参考readme.md
    % ./redis-server --port 9999 --replicaof 127.0.0.1 6379
    % ./redis-server /etc/redis/6379.conf --loglevel debug
​
​
#查看Redis运行情况
ps -ef|grep redis
​
#关闭命令
redis-cli shutdown  或者 kill redis进程的pid
​
#查看是否安装成功:
    #查看redis 版本
    ./redis-cli -v
    #客户端启动redis
    ./redis-cli
​
[root@localhost src]# ./redis-cli 
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> set a 1
OK
127.0.0.1:6379> shutdown
​

7、配置redis.conf

vim /home/tools/redis/redis-7.4.1

复制代码
#daemonize no 改为yes,开启后台运行,默认是前台运行
daemonize yes
#把这一行注释,监听所有IP
#bind 127.0.0.1
#protected-mode yes 如果改为no,则是关闭保护模式,这种模式下不能配置系统服务,建议还是开启
protected-mode yes
#requirpass,保护模式开启的时候要配置密码或者bind ip
requirepass 123456
#修改本参数,指定数据目录
dir /home/tools/redis/data
#修改本参数,指定日志目录
logfile /home/tools/redis/logs/redis_6379.log
#服务端口
port 6379       

8、开放防火墙端口

复制代码
    firewall-cmd --zone=public --add-port=6379/tcp --permanent
#刷新防火墙
    firewall-cmd --reload
#  查看 6379 是否开放成功
    firewall-cmd --zone=public --query-port=6379/tcp

9、将redis 服务交给 systemd 管理

1、编写 redis.service

复制代码
cd /etc/systemd/system
​
vim redis.service

注意:ExecStart后面的路径根据自己安装路径修改

bash 复制代码
[Unit]
Description=Redis
After=network.target

[Service]
Type=forking
PIDFile=/run/redis_6379.pid
ExecStart=/home/tools/redis/redis-7.4.1/src/redis-server /home/tools/redis/redis-7.4.1/redis.conf
ExecReload=/bin/kill -s HUP $MAINPID
Restart=always
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

2、保存退出 eq

3、刷新服务配置

复制代码
systemctl daemon-reload
​

4、设置开机自启

复制代码
systemctl enable redis

Created symlink from /etc/systemd/system/multi-user.target.wants/redis.service to /etc/systemd/system/redis.service.

5、启动redis

复制代码
 systemctl start redis

6、查看状态redis服务状态

复制代码
systemctl status redis

7、使用systemctl命令

bash 复制代码
\# 重载服务
systemctl daemon-reload
\# 开机自启
systemctl enable redis
\# 启动
systemctl start redis
\# 重启
systemctl restart redis    
\# 停止
systemctl stop redis
\# 查看状态
systemctl status redis

\# 关闭开机启动
systemctl disable redis

2、使用Redis Desktop Manager连接Redis

1、下载安装redis desktop manager: Github: Release 2022.5 · lework/RedisDesktopManager-Windows · GitHub

2、使用

Alpha、Beta、Release、RC、GA等各版本称号的区别

Alpha、Beta、Release、RC、GA等各版本称号的区别_tomcat 11(alpha)-CSDN博客

参考文章:Linux下安装Redis(超详细教程)_linux安装redis-CSDN博客

最完整版Linux安装Redis(保姆教程)-CSDN博客

centos7 安装redis 6.0.3 - 春天的风情 - 博客园

window安装redis:

Redis Desktop Manager安装及简单教程_redisdesktopmanager-CSDN博客

相关推荐
problc1 小时前
大模型API和秘钥获取地址
数据库·redis·缓存
Antonio9151 小时前
【Redis】Linux 配置Redis
linux·数据库·redis
Antonio9155 小时前
【Redis】 Redis 基础命令和原理
数据库·redis·缓存
半新半旧18 小时前
python 整合使用 Redis
redis·python·bootstrap
daixin884820 小时前
什么是缓存雪崩?缓存击穿?缓存穿透?分别如何解决?什么是缓存预热?
java·开发语言·redis·缓存
daixin88481 天前
Redis过期数据的删除策略是什么?有哪些?
数据库·redis·缓存
幻灭行度1 天前
通过redis_exporter监控redis cluster
数据库·redis·缓存
Whoisshutiao1 天前
网安-中间件-Redis未授权访问漏洞
中间件
冷崖1 天前
Redis缓存策略以及bigkey的学习(九)
redis·学习·缓存
chen1108____2 天前
用 Docker 一键部署 Flask + Redis 微服务
redis·docker·flask