【Linux服务器Java环境搭建】010在linux中安装Redis,以及对Redis的配置与远程连接

news2024/9/21 18:41:18

系列文章目录

【Linux服务器Java环境搭建】


前言

好久没有更新博客了,今天下了班回到家,看到电脑桌上尘封已久的《Spring Boot应用开发实战》,翻开目录想起来之前写的系列【Linux服务器Java环境搭建】还未完结,那就继续吧,今天主要是按linux服务器中安装和配置redis。

一、redis是什么?

Redis 是一个开源的 (BSD 许可) 内存中数据结构存储,用作数据库、缓存和消息代理。它支持多种数据结构,如字符串、散列、列表、集合、有序集合、位图、超日志、地理空间索引和流。Redis 的全称是 "Remote Dictionary Server"(远程字典服务器)。

  • 内存存储:Redis 主要在内存中进行数据存储,虽然也可以将数据持久化到磁盘。内存存储使得 Redis 具有极高的读写性能,常用于缓存应用场景。

  • 丰富的数据结构:Redis 支持多种数据结构,除了简单的键值对(字符串),还包括哈希(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)、位图(bitmaps)和 hyperloglogs 等。

  • 持久化:虽然 Redis 是内存数据库,但它提供了持久化功能,可以将内存中的数据定期保存到磁盘。Redis 提供两种持久化方式:RDB 快照(Redis Database)和 AOF(Append Only File)。

  • 发布/订阅:Redis 支持发布/订阅(Pub/Sub)模式,可以用于构建实时消息系统。

  • Lua 脚本:Redis 支持 Lua 脚本,允许在服务器端执行复杂的操作,减少网络开销和提高性能。

  • 高可用和分布式:Redis 提供了主从复制、哨兵(Sentinel)和 Redis 集群等功能,实现高可用性和数据分片,适用于大规模分布式系统。

  • 事务:Redis 支持事务,通过 MULTI、EXEC、WATCH 等命令可以实现事务功能。

  • 内置复制:Redis 支持主从复制,可以将数据从一个主节点复制到多个从节点,以实现数据冗余和负载均衡。

二、下载及安装

1.redis下载

下载地址:Downloads - Redis

2.redis安装

A.将安装包通过xftp上传到服务器目录/root/lzh/

B.在目录 /usr/local/ 下创建 redis ⽂件夹并进⼊

[root@lzh-2024 mysql]# cd /usr/local/
[root@lzh-2024 local]# mkdir redis
[root@lzh-2024 local]# cd redis

C.将刚下下载的Redis 安装包解压到 /usr/local/redis 中

[root@lzh-2024 redis]# tar zxvf /lzh/redis-stable.tar.gz -C ./

  解压完之后, /usr/local/redis ⽬录中会出现⼀个 redis-stable 的⽬录

D.编辑及安装

定位到目录/usr/local/redis/redis-stable,执行如下命令编译并安装redis

[root@lzh-2024 redis]# cd redis-stable/
[root@lzh-2024 redis-stable]# make && make install

二、配置

1.redis配置

A.将 REDIS 安装为系统服务并后台启动

进⼊ utils ⽬录,并执⾏如下命令./install_server.sh 

[root@lzh-2024 redis-stable]# cd utils/
[root@lzh-2024 utils]# ./install_server.sh 

执行后,提示如下信息

Welcome to the redis service installer
This script will help you easily set up a running redis server

This systems seems to use systemd.
Please take a look at the provided example service unit files in this directory, and adapt and install them. Sorry!

解决方案如下

编辑文件install_server.sh ,执行命令 

[root@lzh-2024 utils]# vi install_server.sh 

注释调入下代码后,保存并退出:wq!

#bail if this system is managed by systemd
#_pid_1_exe="$(readlink -f /proc/1/exe)"
#if [ "${_pid_1_exe##*/}" = systemd ]
#then
#       echo "This systems seems to use systemd."
#       echo "Please take a look at the provided example service unit files in this directory, and adapt and install them. Sorry!"
#       exit 1
#fi

再次执行命令 ./install_server.sh ,根据提示一步一步执行,默认即可,最终配置如下

B.启动服务,并查看服务状态

[root@lzh-2024 utils]# systemctl start redis_6379.service
[root@lzh-2024 utils]# systemctl status redis_6379.service

C.启动REDIS客户端并测试

[root@lzh-2024 utils]# redis-cli
127.0.0.1:6379> set username lzh
OK
127.0.0.1:6379> get username
"lzh"
127.0.0.1:6379> 

如果要退出,直接输入exit即可

但是此时只能在本地访问,⽆法远程连接,下一步将开启远程连接

2.设置允许远程连接

修改redis配置文件

[root@lzh-2024 utils]# vi /etc/redis/6379.conf 

将 bind 127.0.0.1 修改为 0.0.0.0,如下图

bind 0.0.0.0  -::1

然后重启 Redis 服务

3.设置访问密码

编辑 redis 配置⽂件

[root@lzh-2024 utils]# vi /etc/redis/6379.conf 

把如下内容的注释去掉

#requirepass foobared

如下,可以自己定义密码,如admin

requirepass admin


保存退出后,重启redis服务

[root@lzh-2024 utils]# systemctl restart redis_6379.service

这样后续的访问需要先输⼊密码认证通过⽅可:

[root@lzh-2024 utils]# redis-cli
127.0.0.1:6379> get username
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth admin
OK
127.0.0.1:6379> get username
"lzh"
127.0.0.1:6379> 

三、总结

如上是在linux系统中离线安装redis的完整过程,如有错漏,请大家及时指出,感谢。

本系列其他文章,请查看系列【Linux服务器Java环境搭建】 

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

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

相关文章

通义千问AI模型对接飞书机器人-模型配置(2-1)

一 背景 根据业务或者使用场景搭建自定义的智能ai模型机器人,可以较少我们人工回答的沟通成本,而且可以更加便捷的了解业务需求给出大家设定的业务范围的回答,目前基于阿里云的通义千问模型研究。 二 模型研究 参考阿里云帮助文档&#xf…

IDEA的断点调试(Debug)

《IDEA破解、配置、使用技巧与实战教程》系列文章目录 第一章 IDEA破解与HelloWorld的实战编写 第二章 IDEA的详细设置 第三章 IDEA的工程与模块管理 第四章 IDEA的常见代码模板的使用 第五章 IDEA中常用的快捷键 第六章 IDEA的断点调试(Debug) 第七章 …

基于chrome插件的企业应用

一、chrome插件技术介绍 1、chrome插件组件介绍 名称 职责 访问权限 DOM访问情况 popup 弹窗页面。即打开形式是通过点击在浏览器右上方的icon,一个弹窗的形式。 注: 展示维度 browser_action:所有页面 page_action:指定页面 可访问绝大部分api 不可以 bac…

数据分析入门:用Python和Numpy探索音乐流行趋势

一、引言 音乐是文化的重要组成部分,而音乐流行趋势则反映了社会文化的变迁和人们审美的变化。通过分析音乐榜单,我们可以了解哪些歌曲或歌手正在受到大众的欢迎,甚至预测未来的流行趋势。Python作为一种强大的编程语言,结合其丰…

【数据库系列】Parquet 文件介绍

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

记录些Spring+题集(8)

Spring Bean 的生命周期 Spring Bean 的生命周期涉及到 Spring 框架中对象的创建、初始化、使用和销毁等关键过程。 在Spring框架中,Bean的生命周期经历以下几个阶段: 1)实例化: Spring 根据配置文件或注解等方式创建 Bean 实例…

《0基础》学习Python——第十八讲__爬虫\<1>

一、什么是爬虫 爬虫是一种网络数据抓取的技术。通过编写程序(通常使用Python),爬虫可以自动化地访问网页,解析网页内容并提取出所需的数据。爬虫可以用于各种用途,如搜索引擎的索引,数据分析和挖掘&#x…

vue 腾讯云 javascript sdk + 简单富文本组件设计+实战

<template><div><quill-editor v-model"content" ref"myQuillEditor" :options"editorOption" change"onEditorChange"input"handleInput"></quill-editor><!-- 链接添加对话框 --><el-di…

随手记:推荐vscode好用的几个小插件

原始用了挺久的插件&#xff0c;先上截图&#xff0c;以后有空再编辑&#xff1a; fittenCode 是一个AI小助手&#xff0c;相对来说很智能&#xff0c;你在vscode当中编写代码&#xff0c;甚至都可以知道你下一步知道干嘛&#xff0c;训练的还可以。而且还可以帮你起名字&…

spring MVC 简单的案例(2)用户登录

一、用户登录 1&#xff09;前端代码 index.html <!doctype html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport"content"widthdevice-width, user-scalableno, initial-scale1.0, maxim…

Filebeat k8s 部署(Deployment)采集 PVC 日志发送至 Kafka——日志处理(二)

文章目录 前言Filebeat Configmap 配置Filebeat Deployment验证总结 前言 在上篇文章中总结了 Django 日志控制台输出、文件写入按天拆分文件&#xff0c;自定义 Filter 增加 trace_id 以及过滤——日志处理&#xff08;一)&#xff0c;将日志以 JSON 格式写入日志文件。我们的…

【BUG】已解决:SyntaxError invalid syntax

SyntaxError invalid syntax 目录 SyntaxError invalid syntax 【常见模块错误】 错误原因&#xff1a; 解决办法&#xff1a; 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰&#xff0c;211科班出身&#xff0c;就职于…

CentOS 7 安装Jenkins2.346.1(war方式安装)

既然想要安装Jenkins&#xff0c;肯定是先要从官网解读所需环境配置信息&#xff0c;如需了解更多自行查阅 https://www.jenkins.io/doc/book/installing/linux/ JDK17&#xff0c;Maven3.9 安装 先从官网分别下载JDK17与Maven3.9 下载好之后上传至服务器、并解压&#xff1a…

【体外诊断】ARM/X86+FPGA嵌入式计算机在医疗CT机中的应用

体外诊断 信迈科技提供基于Intel平台、AMD平台、NXP平台的核心板、2.5寸主板、Mini-ITX主板、4寸主板、PICO-ITX主板&#xff0c;以及嵌入式准系统等计算机硬件。产品支持GAHDMI等独立双显&#xff0c;提供丰富串口、USB、GPIO、PCIe扩展接口等I/O接口&#xff0c;扩展性强&…

vscode里的ts配置以及js配置不生效,可能是扩展程序被关了

在setting.json里检查了下typescript的配置发现配置都被置灰了。。。 最后在我不断重复尝试重启vscode的时候&#xff0c;右下角总是弹出一个扩展程序未使用&#xff0c;可能会影响编辑器使用&#xff0c;我点了一下开启&#xff0c;nnd&#xff0c;原来是builtin typescript-…

Leetcode1305.两颗二叉搜索树中的所有元素

1.题目要求: 给你 root1 和 root2 这两棵二叉搜索树。请你返回一个列表&#xff0c;其中包含 两棵树 中的所有整数并按 升序 排序。.2.思路: 我这个方法采用的是设立一个数组&#xff0c;然后用前序遍历把值存入数组中&#xff0c;然后用qsort给它排序 3.代码: /*** Definiti…

Spring Boot2(Spring Boot 的Web开发 springMVC 请求处理 参数绑定 常用注解 数据传递)

目录 一、Spring Boot 的Web开发 1. 静态资源映射规则 2. enjoy模板引擎 二、springMVC 1. springMVC-请求处理 测试&#xff1a; 以post方式请求 限制请求携带的参数 GetMapping 查询 PostMapping 新增 DeleteMapping删除 PutMapping 修改 2. springMVC-参…

5.java操作RabbitMQ-简单队列

1.引入依赖 <!--rabbitmq依赖客户端--> <dependency><groupId>com.rabbitmq</groupId><artifactId>amqp-client</artifactId> </dependency> 操作文件的依赖 <!--操作文件流的一个依赖--> <dependency><groupId>c…

【AI教程-吴恩达讲解Prompts】第1篇 - 课程简介

文章目录 简介Prompt学习相关资源 两类大模型原则与技巧 简介 欢迎来到面向开发者的提示工程部分&#xff0c;本部分内容基于吴恩达老师的《Prompt Engineering for Developer》课程进行编写。《Prompt Engineering for Developer》课程是由吴恩达老师与 OpenAI 技术团队成员 I…

vue学习笔记(十)——Vuex(状态管理,组件间共享数据)

1. vuex基础-介绍 1.1 为什么会有Vuex ? 在现代 Web 开发复杂多变的需求驱动之下&#xff0c;组件化开发已然成为了事实上的标准。然而大多数场景下的组件都并不是独立存在的&#xff0c;而是相互协作共同构成了一个复杂的业务功能。 组件间的通信成为了必不可少的开发需求。…