中间件 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博客

相关推荐
csjane10798 小时前
Redis原理:rename命令
java·redis
Chandler2413 小时前
Redis:内存淘汰原则,缓存击穿,缓存穿透,缓存雪崩
数据库·redis·缓存
❀͜͡傀儡师16 小时前
多台服务器上docker部署 Redis 集群
运维·服务器·redis
Foyo Designer17 小时前
【 <二> 丹方改良:Spring 时代的 JavaWeb】之 Spring Boot 中的国际化:支持多语言的 RESTful API
java·spring boot·redis·后端·spring·缓存·restful
十六ᵛᵃᵉ17 小时前
day6_FlinkSQL实战
java·redis·ajax
嘉友17 小时前
Redis zset数据结构以及时间复杂度总结(源码)
数据结构·数据库·redis·后端
hweiyu0018 小时前
从JVM到分布式锁:高并发架构设计的六把密钥
jvm·redis·分布式·mysql·etcd
萱萱19950420 小时前
Spring Boot实战:MySQL与Redis数据一致性深度解析与代码实战
spring boot·redis·mysql
ashane131421 小时前
Redis的一些高级指令
redis·git·bootstrap
天上掉下来个程小白1 天前
Redis-12.在Java中操作Redis-Spring Data Redis使用方式-操作字符串类型的数据
java·redis·spring·springboot·苍穹外卖