当前位置: 首页 > article >正文

centos7安装redis(包含各种报错)

本文主要介绍如果在Centos7下安装Redis。

1.安装依赖

redis是由C语言开发,因此安装之前必须要确保服务器已经安装了gcc,可以通过如下命令查看机器是否安装:

gcc -v

如果没有安装则通过以下命令安装:

yum install -y gcc

2.下载redis安装包并解压

# 下载,我是在root下执行的下载,所以我的下载目录为:/root/redis-6.2.8,这里按照自己的实际情况调整
curl -O https://download.redis.io/releases/redis-6.2.8.tar.gz
# 解压
tar -zxvf redis-6.2.8.tar.gz

3.进入解压目录并编译

1. 进入解压目录
# 进入解压目录
cd redis-6.2.8
2. 编译
# 编译
make
报错
make[1]: Entering directory /opt/redis_cluster/redis-3.2.9/src' CC adlist.o In file included from adlist.c:34:0: zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory #include <jemalloc/jemalloc.h> ^ compilation terminated. make[1]: *** [adlist.o] Error 1 make[1]: Leaving directory/opt/redis_cluster/redis-3.2.9/src’
make: *** [all] Error 2
解决方法:
试错一:

以为是没安装完全gcc

yum install gcc gcc-c++ -y 

但是再编译也还是一样的问题

试错二:
make MALLOC=libc

原因分析:

在README 有这个一段话。

Allocator
———

Selecting a non-default memory allocator when building Redis is done by setting
the MALLOC environment variable. Redis is compiled and linked against libc
malloc by default, with the exception of jemalloc being the default on Linux
systems. This default was picked because jemalloc has proven to have fewer
fragmentation problems than libc malloc.

To force compiling against libc malloc, use:

% make MALLOC=libc

To compile against jemalloc on Mac OS X systems, use:

% make MALLOC=jemalloc

说关于分配器allocator, 如果有MALLOC 这个 环境变量, 会有用这个环境变量的 去建立Redis

而且libc 并不是默认的 分配器, 默认的是 jemalloc, 因为 jemalloc 被证明 有更少的 fragmentation problemslibc

但是如果你又没有jemalloc 而只有 libc 当然 make 出错。 所以加这么一个参数

3. 安装
make install







4yuk

编译redis的时候出现zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory问题的解决办法

有谁看见我的剑了?

redis编译报错:zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory

Chopin

Centos7 安装Redis详细教程

扶摇知风意

Centos7安装Redis


http://www.kler.cn/a/105299.html

相关文章:

  • JVM常见的垃圾回收器(详细)
  • 【M365运维】给从本地同步到O365的DL添加 Send As权限
  • 用友U8SMSProxy -SQL注入漏洞
  • 疫情集中隔离
  • postgresql|数据库|序列Sequence的创建和管理
  • 基于html5+javascript技术开发的房贷利率计算器
  • 操作系统【OS】I/O核心子系统
  • React 中 keys 的作用是什么?
  • 【多线程】探索Java中的多线程编程
  • 【excel技巧】excel单元格内如何换行?
  • 正式成为研究生一个月就可以改变一个人
  • xshell+xming显示jmeter的gui页面
  • 损失函数和评估函数
  • 【git 学习】--- ubuntu18.04 搭建本地git服务器
  • qt中怎么在鼠标停留的位置上显示该点的坐标位置
  • 敏捷or瀑布: Salesforce项目应该选哪一个?
  • 常见面试题-MySQL专栏(一)
  • vscode Coder Runner 运行C++
  • JVM | 命令行诊断与调优 jhsdb jmap jstat jps
  • 基于YOLOv8模型和UA-DETRAC数据集的车辆目标检测系统(PyTorch+Pyside6+YOLOv8模型)