Redis(Redis配置和订阅发布)

文章目录

    • 1.Redis配置
        • 1.网络配置
          • 1.配置文件位置 /etc/redis.conf
          • 2.bind(注销支持远程访问)
            • 1.默认情况bind = 127.0.0.1 只能接受本机的访问
            • 2.首先编辑配置文件
            • 3.进入命令模式输入/bind定位,输入n查找下一个,shift + n查找上一个,找到bind注释掉
            • 4.重启redis,别忘记指定配置文件
            • 5.查看进程的情况,6379前面变成星号了,表示看,可以接受外部连接
            • 6.如果没有变成星号,就需要先杀死该进程然后在启动一下
          • 3.protected-mode(设置no支持远程访问)
          • 4.port(可以修改启动端口)
          • 5.timeout(一个空闲的客户端维持多少秒会超时,默认0不会超时)
          • 6.tcp-keepalive(对访问客户端的一种心跳检测, 默认300,建议设置60)
        • 2.通用配置
          • 1.daemonize(是否以守护进程启动)
            • 1.介绍
            • 2.设置为no测试
            • 3.保存之后杀死一下进程然后再重启,就会发现此时整个窗口都被redis占用
            • 4.ctrl + c退出,则服务也关闭了
          • 2.pidfile(记录了该进程的进程号)
            • 1.查看pidfile的位置
            • 2.看看
          • 3.loglevel(日志级别默认notice在测试时可以使用debug)
          • 4.logfile(日志文件位置,默认为空即不保留日志,可自定义日志文件位置)
            • 1.找到logfile位置
            • 2.设置日志文件位置
            • 3.创建日志文件
            • 4.重启redis,查看日志文件
          • 5.databases(设置redis共有几个库默认16)
        • 3.安全设置
          • 1.requirepass (设置密码)
            • 1.配置文件找到对应位置
            • 2.设置密码为root
            • 3.重启redis
            • 4.再次连接redis进行操作,使用auth进行登录,用户名用默认的直接输入密码root
            • 5.可以使用acl whoami来查看当前用户为default
            • 6.使用acl list可以查看所有用户
          • 2.使用config get命令可以获取配置信息
        • 4.限制配置
          • 1.maxclients(设置redis最大客户端连接数),如果超过连接则会报错Connection reset by peer
          • 2.maxmemory(最大内存)
            • 1.基本介绍
            • 2.所在位置
          • 3.maxmemory-policy(最大内存策略)
          • 4.maxmemory-samples(样本数量,一般设置3到7的数字,数值越小样本越不准确,但性能消耗越小)
    • 2.发布订阅
        • 1.发布和订阅是什么?
          • 1.示意图
          • 2.如何理解发布和订阅模式
            • 1.任务队列
          • 2.从生活中理解
        • 2.发布订阅分类
          • 1.一个发布者,多个订阅者
          • 2.多个发布者,一个订阅者
          • 3.多个发布者,多个订阅者
        • 3.命令行实现发布和订阅
          • 1.命令介绍
          • 2.一个发布者,多个订阅者
            • 1.三个连接都进入redis
            • 2.让2和3订阅频道chanenl1和chanenl2
            • 3.让1发布消息到chanenl1
          • 3.多个发布者,一个订阅者
            • 1.让1和2发布
            • 2.让3订阅(刚才订阅了)
          • 4.多个发布者,多个订阅者
            • 1.让3,4订阅
            • 2.让1,2发布
            • 3.最终3,4都接收到了

1.Redis配置

1.网络配置
1.配置文件位置 /etc/redis.conf
2.bind(注销支持远程访问)
1.默认情况bind = 127.0.0.1 只能接受本机的访问
2.首先编辑配置文件
vim /etc/redis.conf

image-20240429113924283

3.进入命令模式输入/bind定位,输入n查找下一个,shift + n查找上一个,找到bind注释掉

image-20240429114040993

4.重启redis,别忘记指定配置文件
redis-server /etc/redis.conf

image-20240429114202757

5.查看进程的情况,6379前面变成星号了,表示看,可以接受外部连接

image-20240429114820752

6.如果没有变成星号,就需要先杀死该进程然后在启动一下

image-20240429115010845

3.protected-mode(设置no支持远程访问)

image-20240429115616881

4.port(可以修改启动端口)

image-20240429115731835

5.timeout(一个空闲的客户端维持多少秒会超时,默认0不会超时)

image-20240429130714769

6.tcp-keepalive(对访问客户端的一种心跳检测, 默认300,建议设置60)

image-20240429131100730

2.通用配置
1.daemonize(是否以守护进程启动)
1.介绍

image-20240429131303512

2.设置为no测试

image-20240429131404508

3.保存之后杀死一下进程然后再重启,就会发现此时整个窗口都被redis占用

image-20240429132219182

4.ctrl + c退出,则服务也关闭了

image-20240429132302574

2.pidfile(记录了该进程的进程号)
1.查看pidfile的位置

image-20240429132629382

2.看看

image-20240429132716188

3.loglevel(日志级别默认notice在测试时可以使用debug)

image-20240429132909405

4.logfile(日志文件位置,默认为空即不保留日志,可自定义日志文件位置)
1.找到logfile位置

image-20240429133456181

2.设置日志文件位置

image-20240429133602109

3.创建日志文件

image-20240429133807541

4.重启redis,查看日志文件
5.databases(设置redis共有几个库默认16)

image-20240429134443668

3.安全设置
1.requirepass (设置密码)
1.配置文件找到对应位置

image-20240429134811737

2.设置密码为root

image-20240429134840493

3.重启redis

image-20240429134955436

4.再次连接redis进行操作,使用auth进行登录,用户名用默认的直接输入密码root

image-20240429135148895

5.可以使用acl whoami来查看当前用户为default

image-20240429135315627

6.使用acl list可以查看所有用户

image-20240429135404677

2.使用config get命令可以获取配置信息

image-20240429143110884

4.限制配置
1.maxclients(设置redis最大客户端连接数),如果超过连接则会报错Connection reset by peer

image-20240429143515488

2.maxmemory(最大内存)
1.基本介绍

image-20240429144115441

2.所在位置

image-20240429144326342

3.maxmemory-policy(最大内存策略)

image-20240429144947472

4.maxmemory-samples(样本数量,一般设置3到7的数字,数值越小样本越不准确,但性能消耗越小)

image-20240429145343135

2.发布订阅

1.发布和订阅是什么?
1.示意图

image-20240429145722602

image-20240429145941693

2.如何理解发布和订阅模式
1.任务队列

image-20240429150238877

2.从生活中理解

image-20240429150311100

2.发布订阅分类
1.一个发布者,多个订阅者

image-20240429150426023

2.多个发布者,一个订阅者

image-20240429150544102

3.多个发布者,多个订阅者

image-20240429150639781

3.命令行实现发布和订阅
1.命令介绍

image-20240429151515451

image-20240429151521552

2.一个发布者,多个订阅者
1.三个连接都进入redis

image-20240429152318113

2.让2和3订阅频道chanenl1和chanenl2
subscribe chanenl1 chanenl2

image-20240429152500148

3.让1发布消息到chanenl1
publish chanenl1 hello,world

image-20240429152902644

3.多个发布者,一个订阅者
1.让1和2发布

image-20240429153151172

2.让3订阅(刚才订阅了)

image-20240429153237433

4.多个发布者,多个订阅者
1.让3,4订阅

image-20240429153636146

2.让1,2发布

image-20240429153656779

3.最终3,4都接收到了

image-20240429153722727

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

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

相关文章

SpringBoot的@Async注解有什么坑?

前言 SpringBoot中,Async注解可以实现异步线程调用,用法简单,体验舒适。 但是你一定碰到过异步调用不生效的情况,今天这篇文章总结了Async注解的坑点,希望对你会有所帮助。 未启用异步支持 Spring Boot默认情况下不启…

flutter中固定底部按钮,防止键盘弹出时按钮跟随上移

当我们想要将底部按钮固定在底部,我们只需在Widget中的Scaffold里面加一句 resizeToAvoidBottomInset: false, // 设置为false,固定页面不会因为键盘弹出而移动 效果图如下

操作系统:线程相关知识

目录 1.生产消费者模型 1.1.概念引入 1.2.基于阻塞队列的生产消费模型 1.3.POSIX信号量 1.3.1.再识信号量 1.3.2.信号量接口的学习 1.4.基于环行队列的生产消费模型 1.5.深刻理解生产消费模型 2.可重入函数与线程安全 1.生产消费者模型 1.1.概念引入 生产者-消费者模型…

dvwa靶场Insecure CAPTCHA(不安全的验证码)全难度教程(附代码分析)

搭建流程 注意linux和此搭建方法一样&#xff08;建议使用windows&#xff09; CAPTCHA&#xff08;Security Level: low&#xff09; 代码分析 <?phpif( isset( $_POST[ Change ] ) && ( $_POST[ step ] 1 ) ) {// Hide the CAPTCHA form$hide_form true;// G…

【牛客】值周

原题链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 差分。 因为l<100000000,所以数组开1e8。 唯一需要注意的点就是前面给b[0]单独赋值为1&#xff08;因为如果在循环中给b[0]赋值&…

[Maven]IDEA报错-xxx is referencing itself

在IDEA中&#xff0c;执行 mvn clean时报错xxx is referencing itself。 解决方案&#xff1a;https://stackoverflow.com/questions/64246267/maven-error-using-intellij-is-referencing-itself 具体做法&#xff1a;采用上图第二条&#xff0c;将父模块pom文件中的对子模块…

截图工具Snipaste:不仅仅是截图,更是效率的提升

在数字时代&#xff0c;截图工具已成为我们日常工作和生活中不可或缺的一部分。无论是用于工作汇报、学习笔记&#xff0c;还是日常沟通&#xff0c;一款好用的截图工具都能大大提升我们的效率。今天&#xff0c;我要向大家推荐一款功能强大且易于使用的截图软件——Snipaste。…

Pycharm安装包numpy和matplotlib安装

环境 python 3.12 Pycharm 2023.1 安装包 创建图表的 numpy 库和 matplotlib 库 安装过程出现的问题 setuptools工具包没有安装 Python packaging tool setuptools not found文件 -> 设置 -> 项目:xxx -> python解释器界面显示不出已安装的软件包&#xff0c;系…

MetaCRM upload 任意文件上传漏洞

文章目录 漏洞描述漏洞原理漏洞复现修复建议 漏洞描述 北京美特软件技术有限公司&#xff08;以下简称“美特软件”&#xff09;是一家专业的客户关系管理软件提供商。 美特软件MetaCrm存在文件上传漏洞&#xff0c;攻击者可利用该漏洞上传任意恶意文件。 漏洞原理 在系统u…

看完这篇文章我奶奶都懂Opentracing了(一)

前言 如果要基于Opentracing开发分布式链路追踪Java客户端工具包&#xff0c;首先肯定需要了解Opentracing中的各种概念&#xff0c;包括但不限于Span和Scope等&#xff0c;其实这些概念在Opentracing的官方文档中是有比较详尽的说明的&#xff0c;英文不好也能靠着机器翻译读…

【无标题】程序设计和c语言-谭浩强配套(适合专升本)

一晃大半年没更新了&#xff0c;一直在备考&#xff0c;想着这几天把前段时间学的c语言给大家分享一下&#xff0c;在此做了一个专栏&#xff0c;有需要的小伙伴可私信获取。 说明&#xff1a;本专栏所有内容皆适合专升本复习资料&#xff0c;本人手上也有日常刷题整理的错题以…

LT6911GXC HDMI2.1转mipi / lvds 支持8K 60HZ,提供技术支持

一、 HDMI 以及 GPIO 使用的相关配置 1.1 配置 EDID 在 LT6911GX.c 文件中添加需要的 EDID 二、输出信号配置 2.1 选择输出信号格式 在 Global.h 中配置输出信号类型&#xff0c;如下图所示 2.2 MIPI 信号格式配置 在 MIPITXGlobal.h 中配置 MIPI 相关参数

JAVA面向对象高级部分

内部类 内部类的四种形式 内部类概述、成员内部类 代码示例 创建对象的格式 通过对象名访问内部类方法 若内外部类的成员变量名冲突&#xff0c;如何在内部类分别访问外部成员变量。 总结 静态内部类 代码示例 访问静态内部类的方法 不能在静态内部类中访问实例成员变量 …

初识C++ · 类和对象(下)

目录 1 再谈构造函数 2 类中的隐式类型转换 3 Static成员 4 友元和内部类 5 匿名对象 6 编译器的一些优化 1 再谈构造函数 先看一段代码&#xff1a; class Date { public :Date(int year, int month, int day){_year year;_month month;_day day;} private:int _ye…

C#修改默认参数settings文件

右击项目在设置中进行修改&#xff1a; 千万不要在这里改。 如果要在自己的项目里添加这个文件&#xff0c;首先新建个文件夹&#xff0c;然后添加.setting文件&#xff0c;然后再像上面说的那样添加属性。

Vue3专栏项目 -- 一、第一个页面(上)

一、ColumnList 组件&#xff08;专栏列表组件&#xff09;编码&#xff1a; 该组件要接收一个数组&#xff0c;数组中是一个个专栏数据&#xff0c;数据中包括id、title、avator、description。所以我们定义一个泛型&#xff0c;泛型为id为number类型title为string类型如下这…

明火检测实时识别报警:视觉算法助力安全生产管理

背景与现状 在各种工作、生产环境下&#xff0c;明火的存在往往是潜在的安全隐患。无论是加油站、化工园区、仓储场所还是校园&#xff0c;明火一旦失控就会引发火灾&#xff0c;造成严重的人员伤亡和财产损失。传统的明火检查手段主要依赖于人工巡查和定期的消防检查&#xf…

shell脚本脚本变量

shell脚本的概念&#xff1a; 1.讲要执行的命令按顺序保存到一个文本文件 2.给文件可执行权限 3.可以结合各种shell控制语句以完成更复杂的操作 linux中包含shell的文件有 [rootlocalhost ~]# cat /etc/shells /bin/sh #UNIX最初使用的 shell&#xff0c;已经被…

Type-C转音频(USB2.0数据传输)+PD充电芯片乐得瑞LDR6500/LDR6023

LDR6500 USB-C DRP 接口 USB PD 通信芯片概述 Type-C转音频(USB2.0数据传输)PD充电芯片乐得瑞LDR6500LDR6500是乐得瑞科技针对USB Type-C标准中的Bridge设备而开发的USB-C DRP&#xff08;Dual Role Port&#xff0c;双角色端口&#xff09;接口USB PD&#xff08;Power Deliv…

选择适用的无尘棉签:保障洁净生产环境下的高效擦拭

随着洁净生产条件的日益普及和无尘级别要求的提高&#xff0c;无尘擦拭用品成为广大用户追捧的必备工具。在这个领域&#xff0c;无尘棉签作为一种高效的擦拭工具&#xff0c;扮演着重要的角色。然而&#xff0c;面对市场上种类繁多的无尘棉签&#xff0c;如何选择最合适的产品…