【Redis编译安装】---redis-4.0.8

news2024/12/23 3:20:13

【Redis编译安装】---redis-4.0.8

  • 🔻 一、Redis 编译安装
    • 1.1 ⛳ 上传解压
    • 1.2 ⛳ 升级gcc环境
    • 1.3 ⛳ 编译安装
      • 1.3.1 🍁cd 到redis解压目录
      • 1.3.2 🍁编译
      • 1.3.3 🍁 make test
      • 1.3.4 🍁 安装tcl-8.5
      • 1.3.5 🍁 安装redis
      • 1.3.6 🍁 修改redis.conf
      • 1.3.7 🍁 设置 redis 开机自启动
  • 🔻 二、 连接测试
  • 🔻 三、redis 编译安装默认有关目录文件详解
  • 🔻 四、总结—温故知新

在这里插入图片描述


👈【上一篇】
💖The Begin💖 点点关注,收藏不迷路💖
【下一篇】👉

🔻 一、Redis 编译安装

Redis 4.0.8下载地址

Redis 官网

1.1 ⛳ 上传解压

[root@zyl-docker ~]# ll
total 4608
-rw-r--r-- 1 root root 1729973 Jun  8 16:23 redis-4.0.8.tar.gz
-rw-r--r-- 1 root root 2984823 Jun  8 16:23 redis-7.0.9.tar.gz

[root@zyl-docker ~]# tar -zxvf redis-4.0.8.tar.gz -C /usr/local
[root@zyl-docker local]# cd redis-4.0.8/
[root@zyl-docker redis-4.0.8]# pwd
/usr/local/redis-4.0.8
[root@zyl-docker redis-4.0.8]#

1.2 ⛳ 升级gcc环境

(本环境安装的redis4.0.8,centos 7默认安装的版本为gcc 4.8.5,不需升级也支持)

Redis是基于C语言编写的,安装Redis需要先将Redis的源码进行编译,编译依赖于gcc环境。

  • 本机编译安装在外网环境下,centos 7(默认安装gcc 4.8.5版本)。
  • 没有gcc环境和tcl可以使用命令安装:yum install -y gcc tcl
  • 编译 安装redis-6.x以上,要求 gcc版本在 5.3以上,所以需要升级gcc环境。

升级gcc环境(gcc 4.8.5->gcc 9.3.1):

[root@zyl-docker redis-4.0.8]# yum  -y  install  centos-release-scl
[root@zyl-docker redis-4.0.8]# yum  -y  install  devtoolset-9-gcc  devtoolset-9-gcc-c++  devtoolset-9-binutils

####gcc环境设置,长期有效
[root@zyl-docker redis-4.0.8]# echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile

###使文件生效
[root@zyl-docker redis-4.0.8]# source /etc/profile

####升级检查####
[root@zyl-docker redis-4.0.8]# gcc --version
gcc (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2)
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

[root@zyl-docker redis-4.0.8]# 

1.3 ⛳ 编译安装

1.3.1 🍁cd 到redis解压目录

[root@zyl-docker redis-4.0.8]# pwd
/usr/local/redis-4.0.8
[root@zyl-docker redis-4.0.8]# 

1.3.2 🍁编译

###执行命令进行编译
[root@zyl-docker redis-4.0.8]# make MALLOC=libc

在这里插入图片描述
在这里插入图片描述

1.3.3 🍁 make test

  • tcl 版本过低,下载安装高版本tcl

[root@zyl-docker src]# make test
You need tcl 8.5 or newer in order to run the Redis test
make: *** [test] Error 1
[root@zyl-docker src]#

1.3.4 🍁 安装tcl-8.5

  • 外网可以使用 wget http://mirror.centos.org/centos/7/os/x86_64/Packages/tcl-8.5.13-8.el7.x86_64.rpm 下载

  • 内网需要下载后上传

####安装tcl-8.5
[root@zyl-docker ~]# rpm -ivh tcl-8.5.13-8.el7.x86_64.rpm
Preparing...                          ################################# [100%]
Updating / installing...
   1:tcl-1:8.5.13-8.el7               ################################# [100%]
[root@zyl-docker ~]# 

####make test再次测试
[root@zyl-docker src]# make test
....................................
  100 seconds - unit/obuf-limits

\o/ All tests passed without errors!

Cleanup: may take some time... OK

在这里插入图片描述

1.3.5 🍁 安装redis

####安装redis
[root@zyl-docker src]# make install

Hint: It's a good idea to run 'make test' ;)

    INSTALL install
    INSTALL install
    INSTALL install
    INSTALL install
    INSTALL install
[root@zyl-docker src]#

1.3.6 🍁 修改redis.conf

# 修改对应配置值
bind 0.0.0.0 # Redis默认localhost访问,修改后可远程连接
protected-mode no ##如果设置为yes,那么只允许我们在本机的回环连接,其他机器无法连接
daemonize yes  #yes表示开启守护进程模式,在该模式下,redis会在后台运行。no表示当前界面将进入redis的命令行界面,exit强制退出或者关闭连接工具(putty,xshell等)都会导致redis进程退出
requirepass yourpassword #添加此项,设置redis连接密码,服务器必须设置

1.3.7 🍁 设置 redis 开机自启动

  • 方式一、新建一个系统服务文件
[root@zyl-docker src]# vi /etc/systemd/system/redis.service

###添加内容
[Unit]
Description=redis-server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /usr/local/redis-4.0.8/redis.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

ExecStart 后面配置文件的路径为redis安装路径/usr/local/redis-4.0.8/redis.conf为redis解压路径,读取redis.conf

在这里插入图片描述

  • 加载系统服务
[root@zyl-docker src]# systemctl daemon-reload
[root@zyl-docker src]# 

  • 启动 redis
####开启redis
[root@zyl-docker src]# systemctl start redis
####redis状态查看
[root@zyl-docker src]# systemctl status redis
####设置redis 开机自启
[root@zyl-docker src]# systemctl enable redis
Created symlink from /etc/systemd/system/multi-user.target.wants/redis.service to /etc/systemd/system/redis.service.


####查看redis 进程
[root@zyl-docker src]# ps -ef | grep redis
polkitd    2182   2160  0 16:14 ?        00:00:14 redis-server *:6379
root      13633   9074  0 17:55 pts/2    00:00:00 vim /usr/local/redis-4.0.8/redis.conf
root      14914   9074  0 18:18 pts/2    00:00:00 grep --color=auto redis
[root@zyl-docker src]# 
  • 方式二、将redis的启动脚本复制一份放到/etc/init.d

  • 在/etc目录下新建redis目录

[root@zyl-docker etc]# pwd
/etc
[root@zyl-docker etc]# mkdir redis
[root@zyl-docker etc]#
  • 将/usr/local/redis-4.0.8/redis.conf 文件复制一份到/etc/redis目录下,并命名为6379.conf
[root@zyl-docker etc]# cp /usr/local/redis-4.0.8/redis.conf /etc/redis/6379.conf
[root@zyl-docker etc]#
  • 将redis的启动脚本复制一份放到/etc/init.d目录下
[root@zyl-docker etc]#  cp /usr/local/redis-4.0.8/utils/redis_init_script /etc/init.d/redisd
[root@zyl-docker etc]# 
  • cd 到/etc/init.d目录下,执行自启命令
[root@zyl-docker init.d]# chkconfig redisd on
service redisd does not support chkconfig
[root@zyl-docker init.d]# 

###解决service redisd does not support chkconfig,编辑redisd文件,在第一行加入两行注释
[root@zyl-docker init.d] vim /etc/init.d/redisd


  • 启动 Redis
###启动redis
[root@zyl-docker init.d]# service redisd start
Starting Redis server...
15744:C 08 Jun 18:32:52.963 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
15744:C 08 Jun 18:32:52.963 # Redis version=4.0.8, bits=64, commit=00000000, modified=0, pid=15744, just started
15744:C 08 Jun 18:32:52.963 # Configuration loaded
[root@zyl-docker init.d]# 

###redis进程查看
[root@zyl-docker init.d]# ps -ef | grep redis
root      15745      1  0 18:32 ?        00:00:00 /usr/local/bin/redis-server 127.0.0.1:6379
root      15774   9074  0 18:33 pts/2    00:00:00 grep --color=auto redis
[root@zyl-docker init.d]# 


###停止redis
[root@zyl-docker init.d]# service redisd stop
Stopping ...
Redis stopped
[root@zyl-docker init.d]# 

🔻 二、 连接测试

###连接命令
redis-cli -h x.x.x.x -p port(配置文件中指定的端口号)

[root@zyl-docker init.d]# redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> set k1 v1
OK
127.0.0.1:6379> set k2 v1
OK
127.0.0.1:6379> get k1
"v1"
127.0.0.1:6379> 

🔻 三、redis 编译安装默认有关目录文件详解

redis安装成功后,默认安装目录为:/usr/local/bin

[root@zyl-docker bin]# ll
total 23940
-rwxr-xr-x 1 root root 12737304 Apr 23  2022 docker-compose
-rwxr-xr-x 1 root root   353488 Jun  8 17:54 redis-benchmark
-rwxr-xr-x 1 root root  3632784 Jun  8 17:54 redis-check-aof
-rwxr-xr-x 1 root root  3632784 Jun  8 17:54 redis-check-rdb
-rwxr-xr-x 1 root root   518776 Jun  8 17:54 redis-cli
lrwxrwxrwx 1 root root       12 Jun  8 17:54 redis-sentinel -> redis-server
-rwxr-xr-x 1 root root  3632784 Jun  8 17:54 redis-server
[root@zyl-docker bin]# pwd
/usr/local/bin
[root@zyl-docker bin]# 

redis-benchmark:性能测试工具
redis-check-aof:修复有问题的AOF文件
redis-check-dump:修复有问题的dump.rdb文件
redis-sentinel:redis集群时使用
redis-server:redis服务器启动命令
redis-cli:redis客户端,操作入口

🔻 四、总结—温故知新

❓ gcc环境升级
❓ tcl升级
❓ redis编译安装,及有关目录详解

👈【上一篇】
💖The End💖 点点关注,收藏不迷路💖
【下一篇】👉

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/624057.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

shell 第十一章

1.写一个库函数,用定时任务调用这个库函数,每月1号执行 1.sh: 1.1.sh: 2.以免交互的方式实现 ssh 远程登录,密码错误也直接退出,不用人干预 3.以免交互的方式,实现磁盘分区、格式化、挂载

Keysight 34970A数据采集记录仪产品介绍

Keysight 34970A数据采集记录仪 Keysight 34970A数据采集记录仪开关单元由一个 3 插槽主机和一个内置的 6 1/2 位数字万用表组成。每个通道可以单独配置,以测量 11 种不同功能之一,这样既不会增加成本,也不必使用复杂的信号调理附件。您可用…

【干货】PCB材料选择与性能比较

PCB板被广泛应用于电子行业,作为电子设备的重要组成部分之一,负责连接各种电子元件。PCB板的性能直接影响着电子设备的质量和稳定性。而PCB板的材料选择则是影响PCB板性能的关键因素之一。本文将对常见PCB材料进行比较分析,以便于选择适合的材…

直线模组的应用案例

直线模组最早是在德国开发使用的,因其具有单体运动速度快、重复定位精度高、本体质量轻、占设备空间小、寿命长等特点,被广泛应用在各种各样的机械设备中,尤其是自动化领域,基本上都能看到直线模组的身影,那么&#xf…

Target DVS EDI项目开源介绍

近期为了帮助广大用户更好地使用 EDI 系统,我们根据以往的项目实施经验,将成熟的 EDI 项目进行开源。用户安装好知行之桥EDI系统之后,只需要下载我们整理好的示例代码,并放置在知行之桥指定的工作区中,即可开始使用。 …

小程序项目结构与组件基础

文章和代码已经归档至【Github仓库:https://github.com/timerring/front-end-tutorial 】或者公众号【AIShareLab】回复 小程序 也可获取。 文章目录 项目结构了解项目的基本组成结构小程序页面的组成部分json配置文件的作用全局配置文件app.jsonproject.config.jso…

数据仓库基础知识

数据仓库 企业信息应用现状企业对应用集成的需求1. 什么是BI1.1 BI的定义1.2 BI要做的事情1.3 BI的智能1.4 BI应用架构1.5 BI系统架构1.6 BI应用带来的关键效益 2. 什么是数据仓库2.1 数据仓库的概念2.2 数据仓库的特性 3. 数据仓库设计中的几个重要概念3.1 ETL3.2 数据集市&am…

vue2vue3 el-table实现整行拖拽排序功能(使用sortablejs插件)

1、此功能已集成到[TTable组件中]—Vue2TTable组件 、Vue3TTable组件 2、最终效果 3、安装sortablejs npm install sortablejs --save4、Vue2实现方式 <template><el-tableref"el-table":data"tableData":class"{cursor:isCopy,row_sort:…

探究JavaScript:Array方法、原型链继承和JSON

目录 Array对象 构造函数 静态方法 Array.isArray() 实例方法 valueOf&#xff08;&#xff09; toString&#xff08;&#xff09; 对象的继承 构造函数的缺点 prototype属性作用 原型链 读取对象的某个属性的过程&#xff1a; constructor属性 instanceof运算符…

Linux防火墙学习笔记5

iptables规则匹配及动作&#xff1a; 规则&#xff1a;根据规定的匹配条件来尝试匹配每个流经此处的数据包&#xff0c;匹配成功&#xff0c;则由规则指定的处理动作进行处理。规则是由匹配条件和动作组成的。 iptables的规则匹配条件分类&#xff1a; 基本匹配条件&#xff…

STM32 EC200N-CN MQTT链接服务器开发实录

开发环境 硬件&#xff1a;STM32F091CBT6 、EC200N-CN模块板 、USB-TTL串口助手 软件&#xff1a;VS CODE 、 STM32CUBEMX、IAR 8.32 1.硬件设计 连接好EC200N-CN模块和单片机主板。 EC200N-CN模块设计时注意供电和IO电平转换。 EC200N-CN是低功耗的&#xff0c;其主串口…

宝藏达人 | 10年运营支招,一文看懂运营全套技能!

本期介绍的ProcessOn宝藏达人是爱吃小麦馒头&#xff0c;他在互联网领域担任运营官十年以上&#xff0c;有着丰富的业务实操经验和运营方法论。职场风雨历练中他接触过一些“会省钱”的老板&#xff0c;发现有的企业对运营这一职业并未足够重视&#xff0c;随便调个HR做运营经理…

linux中系统性能监测命令sar,查看cpu、内存、磁盘、网络等使用情况

显示系统CPU利用率的统计信息&#xff1a; sar -u 1 5 -u: 这是sar命令的选项之一&#xff0c;表示要显示CPU利用率相关的统计数据。1: 这是指定采样间隔的参数&#xff0c;表示每秒采样一次数据。5: 这是指定采样次数的参数&#xff0c;表示总共采样5次数据。 %user&#xf…

18.5:给定一个栈,请逆序这个栈,不能申请额外的数据结构,只能使用递归函数

给定一个栈&#xff0c;请逆序这个栈&#xff0c;不能申请额外的数据结构&#xff0c;只能使用递归函数 package algorithmbasic.class18;import java.util.Stack;//给定一个栈&#xff0c;请逆序这个栈&#xff0c;不能申请额外的数据结构&#xff0c;只能使用递归函数 publi…

网络安全为什么缺人? 缺什么样的人?

1.网络安全为什么缺人? 缺人的原因是有了新的需求。 以前的时候&#xff0c;所有企业是以产品为核心的&#xff0c;管你有啥漏洞&#xff0c;管你用户信息泄露不泄露&#xff0c;我只要做出来的产品火爆就行。 这一切随着《网络安全法》、《数据安全法》、《网络安全审查办法…

gaussdb的日期函数加减操作

日期加一天&#xff0c;四种写法&#xff0c;减一天换成减法- SELECT now() integer 1 SELECT date 2023-06-08 integer 1 SELECT timestamp 2023-06-08 integer 1 select 2023-06-08 ::date interval 1 day 日期加减一周&#xff0c; select 2023-06-08 ::date …

influxDB 1.8 笔记(更新中)

1、InfluxDB基本数据结构 数据结构含义database数据库measurement数据库中的表retention policy保存策略&#xff1a;让InfluxDB能够知道可以丢弃哪些数据&#xff0c;设置数据自动清除时间&#xff0c;从而更高效的处理数据points表里面的一行数据 points的数据结构 数据结…

Android实例——2048游戏

2048游戏 项目简介ConfigConstantsGameActivityGameItemGameViewMainActivityScreenUtils布局activity_game.xmlactivity_main.xml 项目简介 选择难度&#xff0c;生成随机数字&#xff0c;通关上下左右滑动&#xff0c;合并相同的数字&#xff0c;直到达到目标数字即可通关游…

MAC环境编译Android环境下的FFmpeg6.0版本

文章目录 一. 下载FFmpeg源码二、对FFmpeg进行安装编译三、进行JNI接口编写代码四、在Android 项目中调用.so库五、FFmpeg的代码学习技巧1、整体学习步骤2、FFmpeg的代码学习步骤 六、参考链接: 一. 下载FFmpeg源码 该项目是基于FFmpeg6.0环境编写。文中涉及代码在不同版本可能…

配置MySQL保存Hive元数据

Hive默认使用自带&#xff08;内嵌&#xff09;的Derby进行元数据存储&#xff0c;这个就意味着无法实现多个hive shell并发连接Hive。如果需要支持多用户登录Hive&#xff0c;必须配置一个独立的数据库。上一节我们已经将MySQL数据库安装到Linux上&#xff0c;本节我们将讲解一…