Redis系列之基于Linux单机安装

Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。最近学习需要用到Redis,所以就去Linux服务器上部署一个,做下记录,方便以后需要参考

实验环境

  • CentOS7
  • Xshell6
  • XFtp6
  • Redis6.2.2

安装gcc依赖

Redis是基于C语言编写的,所以编译是需要gcc依赖的。Redis6.x.x版本支持了多线程,需要gcc的版本大于4.9,但是Centos7默认的版本是4.8.5,所以需要升级gcc的版本。

yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
# 在当前base激活gcc版本,临时
scl enable devtoolset-9 bash
# 永久激活gcc版本,使其生效
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile

确认gcc版本

gcc -v

下载解压文件

下载地址:http://download.redis.io/releases/redis-6.2.2.tar.gz

wget http://download.redis.io/releases/redis-6.2.2.tar.gz

/usr/local目录下面新建一个redis文件夹,将压缩文件也放在这里

cd /usr/local
mkdir redis

解压压缩文件

tar -xzf redis-6.2.2.tar.gz

编译安装

/usr/local/redis/redis-6.2.2目录下面,编译安装

# 到对应目录
cd /usr/local/redis/redis-6.2.2
# 编译,需要先安装好gcc
make
# 如果编译有问题,可以清除之前的编译结果
make -C /usr/local/redis/redis-6.2.2 distclean
# 安装redis,PREFIX指定安装目录,会在对应目录生成一个bin目录
make PREFIX=/usr/local/redis install

安装成功后,会在对应目录生成一个bin目录,bin目录下面放redis启动相关的脚本

在这里插入图片描述

环境变量配置

vi /etc/profile

后面加上

export PATH=$PATH:/usr/local/redis/bin

使配置生效

source /etc/profile

which校验环境变量是否设置成功

[root@localhost redis-6.2.2]# which redis-server
/usr/local/redis/bin/redis-server

设置开机启动

编辑配置文件

# 到redis-6.2.2目录
cd /usr/local/redis/redis-6.2.2
# 复制一份配置文件到对应目录
cp redis.conf /usr/local/redis/config/redis.conf
# 到这个目录
cd /usr/local/redis/config
# 编辑配置文件
vi redis.conf

修改redis.conf,使redis可以支持后台运行,设置好之后按ESC退出,输入:wq!保存退出

# 设置redis启动在后台运行
daemonize yes

上面的设置是为了方便redis开机启动,下面设置一下redis开机启动

# 到对应目录
cd /usr/local/redis/redis-6.2.2
# 复制redis初始化脚本到init.d启动目录
cp utils/redis_init_script /etc/init.d/redis
# 添加执行权限
chmod +x /etc/rc.d/init.d/redis
# 修改启动文件
cd /etc/init.d & vi redis

修改EXECCLIEXECCONF这3个参数,分别表示redis-server位置,redis-cli位置和redis.conf的位置

在这里插入图片描述

设置redis开机启动命令

chkconfig redis on

校验是否配置成功

chkconfig --list

在这里插入图片描述

可以使用reboot重启linux系统,ps -elf|grep redis查看redis是否可以开机启动

在这里插入图片描述

设置redis允许远程访问

允许Redis远程访问,需要对前面说到的redis.conf进行配置,vi /usr/local/redis/config/redis.conf,先将protected-mode这个参数对应的值改为no,然后注释bind 127.0.0.1,注释127.0.0.1是允许所有的IP访问,当然生产不可以直接设置

# 注释这行
bind 127.0.0.1
# 允许外部网络直接访问,设置protected-mode为no
protected-mode no

redis启动

启动服务端

redis-server /usr/local/redis/config/redis.conf

启动客户端

redis-cli -p 6379

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

web安全学习笔记【22】——文件上传(1)

WEB攻防-PHP应用&文件上传&函数缺陷&条件竞争&二次渲染&黑白名单&JS绕过 演示案例: PHP-原生态-文件上传-前后端验证PHP-原生态-文件上传-类型文件头验证PHP-原生态-文件上传-后缀黑白名单验证PHP-原生态-文件上传-解析配置&二次渲染…

JUC 线程及创建线程

最近想再系统地复习一遍并发,随便再把以前整理的笔记整理为博客。 概念 了解线程前先要了解一下进程,进程是程序的一次执行过程,是系统运行的基本单位,其可以拥有资源,一个进程在执行期间会执行一系列的命令。 什么…

华为OD机试真题-模拟数据序列化传输 -2024年OD统一考试(C卷)

题目描述: 模拟一套简化的 序列化只 传输方式,请实现下面的数据编码与解码过程 1、编码前数据格式为 [位置,类型,值],多个数据的时候用逗号分隔,位置仅支持数字,不考虑重复等场景;类型仅支持:Integer/String/Compose(Compose的数据类型表示该存储的数据也需要编码) 2.编码…

【攻防世界】Confusion1

php的标志是大象,Python的标志是蛇 。Python 的 Flask 框架( Flask 使用 Jinja2 作为模板引擎 ) 点进register.php 输入{{3*4}} 输入 {{config}} 也有回显,ssti 判断是否存在ssti注入: 1. {{8*8}} 2. {{config}} 过滤了关键字&#xff0…

二、显示图片、提取边缘特征并保存(C# + OpenCV)

实现功能: 1,打开照片,并显示 2,对选择的照片进行Canny边缘检测 3,保存边缘检测之后的结果 一、布局 打开在视图下打开工具箱 选择一个PictureBox,仨Button 对Button改个名字 仨Button,分别…

Python从0到100(十二):函数的定义及模块

前言: 零基础学Python:Python从0到100最新最全教程。 想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Pyth…

AI大模型探索之路-应用篇2:Langchain框架ModelIO模块—数据交互的秘密武器

目录 前言 一、概述​​​​​​​ 二、Model 三、Prompt 五、Output Parsers 总结 前言 随着人工智能技术的不断进步,大模型的应用场景越来越广泛。LangChain框架作为一个创新的解决方案,专为处理大型语言模型的输入输出而设计。其中,…

设计模式(22):解释器模式

解释器 是一种不常用的设计模式用于描述如何构成一个简单的语言解释器,主要用于使用面向对象语言开发的解释器和解释器设计当我们需要开发一种新的语言时,可以考虑使用解释器模式尽量不要使用解释器模式,后期维护会有很大麻烦。在项目中&…

【Redis】持久化

文章目录 一、RDB1.1、RDB的自动备份与手动备份1.1.1、自动备份1.1.2、手动备份 1.2、RDB优点1.3、RDB缺点1.4、RDB快照1.5、RDB优化配置项 二、AOF2.1、AOF工作流程2.2、AOF写回策略2.3、MP-AOF实现2.4、AOF优缺点2.5、AOF重写机制 三、RDBAOF混合持久化3.1、数据恢复顺序和加…

阿里云OSS使用流程

准备工作 无论怎么样,你需要准备一个阿里云账号,点击:注册阿里云 输入相关信息,然后注册成功以后,点击 然后注册成功了,实名一下阿里云账号。打开实名入口,选择个人实名或者企业实名。 如果你…

windows wireshark抓包rtmp推流出现TCP Retransmission

解决办法:tcp.port1935 && !(tcp.analysis.retransmission)

签名失败当前系统没有安装苹果根证书

发生背景 第一次我没有iOS证书(.p12)和描述文件(.mobileprovision)。按照这个文档https://ask.dcloud.net.cn/article/152拿到后,安心打包出问题。 错误信息 [Info] begin getCertCName... [Info] begin codesignFramwork to ipa... [Error] DCUniBase.framework…

设计模式系列:单例模式

作者持续关注WPS二次开发专题系列,持续为大家带来更多有价值的WPS开发技术细节,如果能够帮助到您,请帮忙来个一键三连,更多问题请联系我(WPS二次开发QQ群:250325397),摸鱼吹牛嗨起来&#xff01…

RabbitMQ如何保证消息的幂等性???

在RabbitMQ中,保证消费者的幂等性主要依赖于业务设计和实现,而非RabbitMQ本身提供的一种直接功能。 在基于Spring Boot整合RabbitMQ的场景下,要保证消费者的幂等性,通常需要结合业务逻辑设计以及额外的技术手段来实现。以下是一个…

嵌入式学习51-单片机4

知识零碎: nop空指令 CRC校验 为了保证51单片与温度传感18b20 之间的高电平 采用一个上拉电阻改变电平的高低 温度寄存器原理

react17+antd4 动态渲染导航菜单中的icon

在路由信息对照表中的icon可以有两种形式:一种是组件形式,一种是字符串形式的。 在antd4的Menu.Item和SubMenu中的icon属性的格式为: 1.组件形式 这种方法在渲染时很方便,与antd中的Menu.Item中的icon属性的形式是一致的&#…

51单片机+TN901非接触式红外测温设计论文与源码PCB等资料

1、摘要 温度测量技术应用十分广泛,而且在现代设备故障检测领域中也是一项非常重要的技术。但在某些应用领域中,要求测量温度用的传感器不能与被测物体相接触,这就需要一种非接触的测温方式来满足上述测温需求。本论文正是应上述实际需求而设…

如何让MacOS「终端」走代理

在 MacOS 操作系统中,默认情况下,终端命令行不会通过代理进行网络连接。这导致在应用软件研发过程中,许多需要通过命令行下载安装的软件或依赖包无法成功安装。经常出现Failed to connect to xxx port 443 after 75329 ms: Couldnt connect t…

【资源分享】MAC上最好用的截图软件-Snipaste

::: block-1 “时问桫椤“是一个关注本科生到研究生教育阶段的不严肃的公众号,希望能在大家迷茫、难受、困难之时帮助到大家。用广大研究生的经验总结,让大家能尽早的适应研究生生活,尽快的看透科研本质。祝好!!&#…

OLAP在线实时 数据分析平台

随着业务的增长,精细化运营的提出,产品对数据部门提出了更高的要求,包括需要对实时数据进行查询分析,快速调整运营策略;对小部分人群做 AB 实验,验证新功能的有效性;减少数据查询时间&#xff0…