单机版-redis(手动部署)

news2024/11/24 3:16:51

单机版-redis部署

部署模式:单机版-redis部署

Redis版本:redis-4.0.1

部署redis方式:手动部署

在完成第三步时已完成配置,后续为操作命令以及注意事项;

在进行操作数据库时,需要关注第五步注意事项,会涉及reids数据的存取位置问题。

配置文件redis版本可能有变,只需修改自身redis版本即可

目录

一、资源

二、解压安装、编译

1、上传资源

2、解压

3、编译

三、配置-配置文件

1、redis.conf配置

2、启动脚本配置

四、启停redis相关命令

1、脚本操作redis启停

2、其他方式操作redis

3、登录redis客户端

五、注意事项

1、redis数据库存取位置

2、测试jar包中参数修改


一、资源

Redis官方下载地址

Download | Redis

https://redis.io/download/#redis-downloads

二、解压安装、编译

1、上传资源

此处放在/home/tjuser/redis/下

2、解压

通过tar 解压

例如

tar -zxvf redis-4.0.1.tar.gz

3、编译

在编译前先检查gcc版本

(1)检查gcc版本

gcc -v

没有安装或版本为4.8.5的,在编译时可能会出错

(2)安装gcc

yum install -y gcc tcl

编译操作必须在解压后的文件中进行,此处为

cd  /home/tjuser/redis/redis-4.0.1/

make

只有在编译后才会生产执行文件redis-server和客户端redis-cli

编译过程可能出错:提示如下

原因、解决方式

Redis版本过高可能会报错

make报错是因为gcc版本过低,yum安装的gcc是4.8.5的。

所以需要升级gcc,升级过程如下

yum -y install centos-release-scl
 
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
 
scl enable devtoolset-9 bash
 
echo "source /opt/rh/devtoolset-9/enable" >> /etc/profile
 
gcc -v

#到解压后的redis目录下继续执行make命令即可

校验是否编译成功

进入/redis-4.0.1/src/目录下,通过ls查看文件,出现redis-server,redis-cli等文件即为编译正确,否则出现的是redis-server.c等类似的文件

  • 三、配置-配置文件

redis.conf配置以及启动脚本配置

1、redis.conf配置

创建redis.conf文件

Reids的redis.conf配置文件位置一般位于

/etc/redis/redis.conf

redis.conf文件内容如下:

文件名称自取,不用赋予权限,创建文件的权限即可

#如果bind 0.0.0.0表示所有ip都可访问,如果想限制ip,则有 bind ip ip,可以写多个,空格隔开
bind 0.0.0.0

#protected-mode 设置为 yes 时,Redis 只会监听 127.0.0.1 地址,当 protected-mode 设置为 no 时,
#Redis 不再限制网络访问,可以通过任何 IP 地址访问 Redis 服务
protected-mode no

#端口配置
port 6379

#pid文件路径,如果需要使用启动脚本,则启动脚本中的pid路径需与此处pid路径一致,否则脚本会不能用,只可以启动,不可以停止
pidfile "/data/redis/redis_6379.pid"

#日志文件路径
logfile "/data/redis/redis_6379.log"

#数据持久化位置
dir "/data/redis/data"

#设置后台启动daemonize yes表示后台启动,反之
daemonize yes

#设置密码
requirepass promace@123

#设置aof格式的持久化操作
appendonly yes
appendfilename "appendonly-41.aof"

注意事项:

redis.conf内容中的设置的持久化操作是必须的,否则数据可能会丢失

持久化配置有两种方式,rdb和aof

aof持久化

appendonly yes

appendfilename "appendonly-41.aof"

rdb持久化

rdb的定时配置

每五秒钟写一次RDB文件,如果至少有一个键发生更改

Save 5 1  

dbfilename dump.rd

持久化的数据会在dir 目录下生成该文件

可通过redis.conf文件查看  dir  的目录

2、启动脚本配置

脚本位置:/etc/init.d/redis (一般位于此处),需自建redis文件

vim /etc/init.d/redis

脚本内容:

#!/bin/sh
# chkconfig: 2345 80 90
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.

#redis端口
REDISPORT=6379

#redis执行文件的位置
EXEC=/home/tjuser/redis/redis-3.2.8/src/redis-server

#redis客户端文件的位置,
CLIEXEC=/home/tjuser/redis/redis-3.2.8/src/redis-cli

#此处pid路径需确保与redis.conf文件中pid的位置一致,不然无法保证启动脚本的作用
PIDFILE=/data/redis/redis_${REDISPORT}.pid

#reids.conf文件的路径,名称可能不同。
#例如6379.conf,若为reids_6379.conf,需为redis_${REDISPORT}.conf格式,pid也类似
CONF="/etc/redis/${REDISPORT}.conf"

case "$1" in
    start)
        if [ -f $PIDFILE ]
        then
                echo "$PIDFILE exists, process is already running or crashed"
        else
                echo "Starting Redis server..."
                $EXEC $CONF
        fi
        ;;
    stop)
        if [ ! -f $PIDFILE ]
        then
                echo "$PIDFILE does not exist, process is not running"
        else
                PID=$(cat $PIDFILE)
                echo "Stopping ..."
                kill -9 $PID
                while [ -x /proc/${PID} ]
                do
                    echo "Waiting for Redis to shutdown ..."
                    sleep 1
                done
                echo "Redis stopped"
        fi
        ;;
    *)
        echo "Please use start or stop as first argument"
        ;;
esac

exit 0
 

#赋予权限
sudo chmod +x /etc/init.d/redis


#设置redis的开机自启动
sudo chkconfig redis on 

注意事项:

启动脚本中的# chkconfig: 2345 80 90 

注释必不可少,不然无法设置redis的开机自启动

如果PIDFILE文件的位置和redis.conf中pid的路径不一致,会造成用只能用service redis start启动redis,无法service redis stop关闭redis,到时候只能通过kill -9 pid杀掉进程

  • 四、启停redis相关命令

1、脚本操作redis启停

service redis start

service redis stop

service redis restart

service redis status

2、其他方式操作redis

如果启动脚本失效,则使用以下原始的命令进行启停redis

启动redis的方式

以redis-server 和redis.conf文件配合启动,此处的redis.conf文件名为6379.conf

只需根据redis-server和redis.conf文件的路径写即可

启动-命令示例

/home/tjuser/redis/redis-3.2.8/src/redis-server  /etc/redis/6379.conf  &

注意:只需找到两个文件的路径,该命令中间有空格,&前有空格

停止命令

方式一:

可以通过ps -ef | grep redis查找pid

使用kill -9 pid 杀掉进程

方式二:

还可以通过

Redis-cli  -a  password  shutdown

此处有空格,为了看着明显空格较多,password为redis的密码

如果没有设置密码

可直接使用Redis-cli  shutdown 关闭redis

3、登录redis客户端

(1)登录

方式1:

进入redis客户端的命令,设置了密码(此处要进入redis-cli的目录进行执行命令,或者它存在的目录)

如/home/redis/redis-4.0.1/src/redis-cli -a  password

又或者

./redis-cli  -a  password

方式2:

或者通过

如 /home/redis/redis-4.0.1/src/redis-cli

或者

./redis-cli (路径如方式一

进入客户端,在ping时显示没有权限,设置了密码

再通过

auth password(此时已经通过redis-cli登录了Redis的客户端)

即可登录

(2)操作数据库

redis登录客户端的写操作,默认是写在第一个数据库中,总共有(0-15)16个数据库

如果想进入第二个数据库,在通过redis-cli登录客户端的前提下

通过select  1进入第二个数据库进行读写操作

五、注意事项

1、redis数据库存取位置

在通过启动jar包方式,进行测试存取数据时,

存取redis数据的位置由application.properties中的database进行控制;

例如application.properties文件中的

spring.redis.database=1

则在进行操作redis数据库时,数据的存取会在Redis的第一个数据库中进行。

2、测试jar包中参数修改

在进行测试时,根据自身需求在application.properties文件中修改以下参数的值即可

server.port

spring.redis.database

spring.redis.host

spring.redis.port

spring.redis.password

在通过curl 进行操作数据库时,也要注意响应ip、port和key

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

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

相关文章

卷积神经网络(CNN)衣服图像分类的实现

文章目录 前期工作1. 设置GPU(如果使用的是CPU可以忽略这步)我的环境: 2. 导入数据3.归一化4.调整图片格式5. 可视化 二、构建CNN网络模型三、编译模型四、训练模型五、预测六、模型评估 前期工作 1. 设置GPU(如果使用的是CPU可以…

【Electron】electron-builder打包失败问题记录

文章目录 yarn下载的包不支持require()winCodeSign-2.6.0.7z下载失败nsis-3.0.4.1.7z下载失败待补充... yarn下载的包不支持require() 报错内容: var stringWidth require(string-width)^ Error [ERR_REQUIRE_ESM]: require() of ES Module /stuff/node_modules/…

SpringBoot整合Quartz示例

数据表 加不加无所谓,如果需要重启服务器后重新执行所有JOB就把sql加上 如果不加表 将application.properties中的quartz数据库配置去掉 自己执行自己的逻辑来就好,大不了每次启动之后重新加载自己的逻辑 链接:https://pan.baidu.com/s/1KqOPYMfI4eHcEMxt5Bmt…

IoC和DI

Spring 是包含众多工具的 IoC 容器,存的是对象,对象这个词在 Spring 的范围内,称之为 bean IoC 是控制反转 控制权进行了反转,比如对某一个东西的控制权在 A 手上,结果变成了 B ,Spring 管理的是 bean ,所以这里的控制权指的是 bean 的控制权,也就是对象的控制权进行了反转 …

内网穿透的应用-通过内网穿透快速搭建公网可访问的Spring Boot接口调试环境

文章目录 前言1. 本地环境搭建1.1 环境参数1.2 搭建springboot服务项目 2. 内网穿透2.1 安装配置cpolar内网穿透2.1.1 windows系统2.1.2 linux系统 2.2 创建隧道映射本地端口2.3 测试公网地址 3. 固定公网地址3.1 保留一个二级子域名3.2 配置二级子域名3.2 测试使用固定公网地址…

【数据下载】FileZilla安装及使用说明:以全球NCEP 再分析数据集为例

1 简介# 1 简介 FileZilla是一个免费开源的FTP软件,分为客户端版本和服务器版本,具备所有的FTP软件功能。 1.1 下载地址 File Zilla官网下载 1.2 安装过程 下载完成后,界面如下: 2 使用 2.1 主机设置 2.2 下载数据 全球N…

Mars3d-vue最简项目模板集成使用Mars3d的UI控件样板

备注说明&#xff1a; 1.小白可看步骤一二&#xff0c;进阶小白可直接看步骤三 步骤一&#xff1a;新建文件夹<uitest>&#xff0c;在mars3d仓库拉一份最简项目模板&#xff1a; git clone mars3d-vue-template: Vue3.x 技术栈下的Mars3D项目模板 步骤二&#xff1a;运…

受电诱骗快充取电芯片XSP08:PD+QC+华为+三星多种协议9V12V15V20V

目前市面上很多家的快充充电器&#xff0c;都有自己的私有快充协议&#xff0c;如PD协议、QC协议、华为快充协议、三星快充协议、OPPO快充协议等待&#xff0c;为了让它们都能输出快充电压&#xff0c;就需要在受电端也增加快充协议取电芯片XSP08&#xff0c;它可以和充电器通讯…

axios升级依赖版本后报错SyntaxError: Cannot use import statement outside a module

Axios构建为ES模块&#xff0c;而不是在Node中运行时的CommonJs。Jest的问题是它在Node中运行代码。这就是为什么告诉Jest转换Axios有效的原因。 Axios SDK附带了一个用于Node env的内置CommonJs文件。因此&#xff0c;我们可以通过将以下内容添加到您的package.json来修复它&a…

Windows SmartScreen中的漏洞!

&#x1f525;另一个流行漏洞是 CVE-2023-36025 - 绕过 Windows SmartScreen 安全功能&#xff0c;该功能是多个微软产品的网络钓鱼和恶意软件保护组件。 &#x1f47e;有多危险 利用该漏洞&#xff0c;攻击者可以绕过 Windows Defender SmartScreen 检查和相关警告。利用该漏…

alias linux 命令别名使用

如果在系统中你想要快速的完成一个命令&#xff0c;你可以使用alias命令&#xff1a; 如&#xff1a; alias ppsystemctl status httpd输入pp命令后即可得到如下结果 但这之时临时生效&#xff0c;一旦重启机器&#xff0c;命令就会失效&#xff1b;想要永久生效&#xff0c;…

HTML易忽略的角落【目录】

目前已有文章 **** 篇 本专栏是汇集了一些HTML常常被遗忘的知识&#xff0c;这里算是温故而知新&#xff0c;往往这些零碎的知识点&#xff0c;在你开发中能起到炸惊效果。我们每个人都没有过目不忘&#xff0c;过久不忘的本事&#xff0c;就让这一点点知识慢慢渗透你的脑海。 …

扩散模型实战(九):使用CLIP模型引导和控制扩散模型

推荐阅读列表&#xff1a; 扩散模型实战&#xff08;一&#xff09;&#xff1a;基本原理介绍 扩散模型实战&#xff08;二&#xff09;&#xff1a;扩散模型的发展 扩散模型实战&#xff08;三&#xff09;&#xff1a;扩散模型的应用 扩散模型实战&#xff08;四&#xff…

<MySQL> 什么是数据库索引?数据库索引的底层结构是什么?

目录 一、什么是数据库索引? 1.1 索引的概念 1.2 索引的特点 1.3 索引的适用场景 1.4 索引的使用 1.4.1 创建索引 1.4.2 查看索引 1.4.3 删除索引 二、数据库索引的底层结构是什么&#xff1f; 2.1 数据库中的 B树 长啥样&#xff1f; 2.2 B树为什么适合做数据库索…

缩放图片算法优化 sse

前情提要 这里实现了打印文件的缩放算法 缩放打印文件&#xff08;prt,prn&#xff09; 核心功能如下&#xff1a; void CZoomPrtFile::zoomPrtFile(BYTE* pTargetData) {float xRatio static_cast<float>(m_perWidth - 1) / m_zoomWidth;float yRatio static_cast<…

[PHP]写个简单的分页静态接口用宝塔部署到Nginx

使用get方式传入page和pageSize参数&#xff0c;接口根据参数进行分页处理。 1.创建一个 PHP 文件 例如 city.php&#xff0c;用于定义接口和返回 JSON 数据。 2.在 city.php 文件中编写接口 <?php// 设置响应内容为 JSON 格式 header(Content-Type: application/json);…

iApp祁天社区UI成品源码 功能齐全的社区应用

iApp祁天社区UI成品源码是一个非常实用的资源&#xff0c;提供了完整的源代码&#xff0c;可以帮助您快速搭建一个功能齐全的社区应用。 这个源码具有丰富的UI设计&#xff0c;经过精心调整和优化&#xff0c;确保用户体验流畅而舒适。它不仅具备基本的社区功能&#xff0c;如…

linux清理僵尸进程

当你top看到这个&#xff0c;或者按M后看到内存吃的很多&#xff0c;那你看下有没有&#x1f9df; 二选一查看是什么进程 ps aux | egrep "Z|defunct" ps -aux | awk {if($8"Z"){print $2,$11}}没用直接杀杀杀 kill -9 查到的PID号可中断下载文件 wget…

基于SSM的智慧养老平台设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

OpenCV中的像素重映射原理及实战分析

引言 映射是个数学术语&#xff0c;指两个元素的集之间元素相互“对应”的关系&#xff0c;为名词。映射&#xff0c;或者射影&#xff0c;在数学及相关的领域经常等同于函数。 基于此&#xff0c;部分映射就相当于部分函数&#xff0c;而完全映射相当于完全函数。 说的简单点…