码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • centos7安装redis(包含各种报错)


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

    1.安装依赖

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

    gcc -v
    
    • 1

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

    yum install -y gcc
    
    • 1

    2.下载redis安装包并解压

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

    3.进入解压目录并编译

    1. 进入解压目录
    # 进入解压目录
    cd redis-6.2.8
    
    • 1
    • 2
    2. 编译
    # 编译
    make
    
    • 1
    • 2
    报错
    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  ^ compilation terminated. make[1]: *** [adlist.o] Error 1 make[1]: Leaving directory/opt/redis_cluster/redis-3.2.9/src’
    make: *** [all] Error 2
    
    • 1
    • 2
    解决方法:
    试错一:

    以为是没安装完全gcc

    yum install gcc gcc-c++ -y 
    
    • 1

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

    试错二:
    make MALLOC=libc
    
    • 1

    原因分析:

    在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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

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

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

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

    3. 安装
    make install
    
    • 1







    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

  • 相关阅读:
    Java项目:JSP游戏购买网站
    Tilemap瓦片资源
    信号和槽的绑定
    情感支撑对话论文最近进展 Emotion Support Conversation
    [github配置] 远程访问仓库以及问题解决
    包含吲哚菁绿的多聚体白蛋白纳米球/载马钱子碱纳米粒的牛血清白蛋白微球的制备
    .Net Core工作流WorkFlowCore
    pnpm 是凭什么对 npm 和 yarn 降维打击的
    【洛谷 B2003】输出第二个整数 题解(顺序结构+输入输出)
    MATLAB中alignsignals函数使用
  • 原文地址:https://blog.csdn.net/weixin_54626591/article/details/134042720
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号