reactor模式redis线程

中介模式

概述 《设计模式》一书中对于 “中介模式” 的意图描述如下: 用一个中介对象来封装一系列对象的交互。中介者使得各对象之间不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互 具体来讲,就是在对象过多,并且这些对象之间的交互关系过于复杂的情况下,通过引入第三方 “中介” 来处理这些 ......
中介 模式

Java并发(一)----进程、线程、并行、并发

一、进程与线程 进程 程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至 CPU,数据加载至内存。在指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理 IO 的 当一个程序被运行,从磁盘加载这个程序的代码至内存,这时就开启了一个进程。 进程就可以视为程 ......
线程 进程 Java

单例模式

单例模式 单例模式是指确保一个类在任何情况下都绝对只有一个实例,并提供一个全局访问点。即:类在内存中只能存在一个示例对象 设计思路: 创建的对象肯定是要存入内存的,也就是用户态的那片空间(栈、堆、读写段、只读段),如果直接将类对象的创建放在类的外面,无论放在哪块区域都是行不通的。故需要强制不能在类外 ......
模式

单例模式

单例模式 单例模式是指确保一个类在任何情况下都绝对只有一个实例,并提供一个全局访问点。即:类在内存中只能存在一个示例对象 设计思路: 创建的对象肯定是要存入内存的,也就是用户态的那片空间(栈、堆、读写段、只读段),如果直接将类对象的创建放在类的外面,无论放在哪块区域都是行不通的。故需要强制不能在类外 ......
模式

Java中创建线程的方式以及线程池创建的方式、推荐使用ThreadPoolExecutor以及示例

场景 Java中创建线程的方式有三种 1、通过继承Thread类来创建线程 定义一个线程类使其继承Thread类,并重写其中的run方法,run方法内部就是线程要完成的任务, 因此run方法也被称为执行体,使用start方法来启动线程。 2、通过实现Runanle接口来创建线程 首先定义Runnab ......
线程 方式 ThreadPoolExecutor 示例 Java

Jmeter线程组间传递变量

做接口测试,上一个线程组(A线程组)提取的变量,需要传递给下一个线程组(B线程组)使用。故需要将A线程组内提取的变量设置为全局变量。实现如下: 1. json提取变量(A线程组) 通过json提取器,将A线程组请求中的billId提取出来,如下: 2. BeanShell 取样器定义变量(A线程组) ......
线程 变量 Jmeter

KMP算法(串的模式匹配算法)(未完待续......)

KMP算法的实现 1.基本原理 在暴力破解算法(BF算法)中,模式串需要一个一个来跟主串进行对比,若有一个不相同,则主串前进一位,继续从头开始进行比较,这样比较的最坏时间复杂度为O(mn),例:‘aaaaaaaaab’和‘aaab’,需要比较到最后一个才能成功,效率太过低下。 KMP算法的原理是,找 ......
算法 模式 KMP

VMware网络连接模式

VMware网络连接模式 一、桥接模式 1.介绍 相当于虚拟机的网卡和宿主机的物理网卡连接到虚拟机所提供的VMnet0虚拟交换机上 2.作用 虚拟机、宿主机均可访问外网 虚拟机、宿主机之间可通信 3.操作 关闭宿主机和虚拟机防火墙 Windows: 控制面板-->系统和安全-->Windows De ......
模式 VMware 网络

redis的总结

Redis的架构模式 单机版 特点:简单 问题: 1、内存容量有限 2、处理能力有限 3、无法高可用。 说明:本文会以pdf格式持续更新,更多最新尼恩3高pdf笔记,请从下面的链接获取:语雀 或者 码云 主从复制 Redis 的复制(replication)功能允许用户根据一个 Redis 服务器来 ......
redis

Redis之缓存穿透、缓存击穿、缓存雪崩及其解决方法

什么是缓存穿透 缓存穿透是指查询一个缓存中和数据库中都不存在的数据,导致每次查询这条数据都会透过缓存,直接查库,最后返回空。当用户使用这条不存在的数据疯狂发起查询请求的时候,对数据库造成的压力就非常大,甚至可能直接挂掉。这种情况的流程就变成下图这样了: 缓存穿透解决方案 解决缓存穿透的方法一般有两种 ......
缓存 雪崩 方法 Redis

【享元设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

简介 享元模式(Flyweight Pattern),是一种结构型设计模式。主要用于减少创建对象的数量,以减少内存占用和提高性能。它摒弃了在每个对象中保存所有数据的方式,通过共享多个对象所共有的相同状态,让你能在有限的内存容量中载入更多对象。 当程序需要生成数量巨大的相似对象时,可能对内存有大量损耗 ......
设计模式 语言 模式 Python Java

AOP底层原理-装饰模式(静态代理)

原始方法: 静态代理的方法: 测试: ......
底层 静态 原理 模式 AOP

线程和队列应用--消费者和生产者

1、用一个队列存储商品 2、创建一个专门生产商品的线程类,当商品数量少于50时,开始生产商品,每次生产200个商品,每生产一轮,暂停1s 3、创建一个专门消费商品的线程类,当商品数量大于10时就开始消费,循环消费,每次消费3个,当商品数量少于10的时候,暂停2s ......
生产者 队列 线程 消费者

Docker的网络模式

1、Docker网络实现原理 (1)Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址,称为Container-IP,同时Docker网桥是每个容器的默认网关。因为在同一宿主机内的容器都 ......
模式 Docker 网络

flask-day6——sqlalchemy快速插入数据、scoped_session线程安全、sqlalchemy基本增删查改、sqlalchemy的一对多、sqlalchemy的多对多、sqlalchemy的连表查询

一、sqlalchemy快速插入数据 # 使用orm插入 from models import Book, User from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker # 第一步:生成engine ......

sqlalchemy快速插入数据、scoped_session线程安全、基本增删查改、一对多、 多对多、 连表查询

1 sqlalchemy快速插入数据 # sqlalchemy是什么 orm框架,跟其他web框架没有必然联系,可以独立使用 # 安装,快速使用,执行原生sql # 创建表和删除表 -不能创建数据库 -不能修改字段(增加,删除) # 使用orm插入 from sqlalchemy import cr ......

1 sqlalchemy快速插入数据 2 scoped_session线程安全、3 基本增删查改、4 一对多、5 多对多、6 连表查询

1 sqlalchemy快速插入数据 # sqlalchemy是什么 orm框架,跟其他web框架没有必然联系,可以独立使用 # 安装,快速使用,执行原生sql # 创建表和删除表 -不能创建数据库 -不能修改字段(增加,删除) # 使用orm插入 from sqlalchemy import cr ......

Redis缓存高可用集群

在redis3.0以前的版本要实现集群一般是借助哨兵sentinel工具来监控master节点的状态,如果master节点异常,则会做主从切换,将某一台slave作为master,哨兵的配置略微复杂,并且性能和高可用性等各方面表现一般。 ......
集群 缓存 Redis

赶快检查,木马可能已经植入服务器,Redis未授权访问漏洞记录,redis的key值出现backup要谨慎

问题描述:为图省事,很多时候我们在使用redis的时候会使用默认空密码,这就增加了安全隐患,如果有下属情况,那赶快去检查下redis,木马或许已经植入服务器,应尽快处理: 1.redis绑定在 0.0.0.0:6379,没有设置对应的端口IP安全策略;2.没有设置密码,使用了默认的空值。 3.key ......
木马 漏洞 服务器 backup Redis

详解事务模式和Lua脚本,带你吃透Redis 事务

摘要:Redis事务包含两种模式:事务模式和Lua脚本。 本文分享自华为云社区《一文讲透 Redis 事务》,作者: 勇哥java实战分享。 准确的讲,Redis事务包含两种模式:事务模式和Lua脚本。 先说结论: Redis的事务模式具备如下特点: 保证隔离性; 无法保证持久性; 具备了一定的原子 ......
事务 脚本 模式 Redis Lua

【Java 线程池】【二】ThreadPoolExecutor 参数详解及拒绝策略

1 前言 上一节我们对线程池以及它的基本使用做了介绍,后面我们就开始分析线程池内部的原理了,内部的核心流程是怎么设计的,那么这节我们先来分析一下ThreadPoolExecutor这个线程池的有哪些属性,以及这些属性代表什么意思。 2 线程池状态和线程数量的表示 首先来看下ThreadPoolExe ......
ThreadPoolExecutor 线程 策略 参数 Java

Redis学习——基础数据结构

基础数据结构 String 唯一的key,获取对应value,不同value结构不同 Json序列化为字符串,字符串反序列化为Json 常见用途,缓存用户信息 动态字符串 位图数据结构 List 相当于LinkedList,链表不是数组。 插入很快,定位索引较慢,常用作异步队列(队列、栈都可以) 一 ......
数据结构 结构 基础 数据 Redis

c++ 多线程摘记

有没有 linux 和 windows 通用的 多线程库? ChatGPT: 是的,C++11 标准引入了一个名为 std::thread 的多线程库,它可以在 Windows 和 Linux 上使用。std::thread 库提供了一种方便的方式来创建和管理线程,包括启动、等待、终止和同步线程。此 ......
摘记 线程

GROK模式参考(转载)

参考:https://help.aliyun.com/document_detail/129387.html 根据在线工具调试: https://www.5axxw.com/tools/v2/grok.html GROK是一种采用组合多个预定义的正则表达式,用来匹配分割文本并映射到关键字的工具。通常 ......
模式 GROK

Redis性能问题诊断以及scan命令耗时分析

Redis性能问题诊断以及scan命令耗时分析 摘要 最近公司有项目反馈卡顿. 卡顿一小时后自己被拉入群聊. 同事已经基本上定位到问题原因. 我这边想使用朴素的性能观点进行一下性能问题的拆解 为了提高自己. 用到的一些脚本 echo "info" |redis-cli -p 6379 -a Your ......
命令 性能 问题 Redis scan

Java高并发专题之31、等待线程完成的方式你知道几种?

在一个线程中需要获取其他线程的执行结果,能想到几种方式?各有什么优缺点? 结合这个需求,我们使用6种方式,来对之前学过的知识点做一个回顾,加深记忆。 方式1:Thread的join()方法实现 代码: package com.itsoku.chat31; import java.sql.Time; ......
线程 方式 专题 Java

介绍几种等待多线程任务执行完毕的方法

一.引言: 在我们日常的开发过程中,我们经常会开启多个线程或者创建一个线程池去执行多个并发任务,当所有任务执行完毕后,我们一般会做一个统一的处理。那我们如何知道多个线程的任务已经全部执行完毕了呢? 今天由我来为大家介绍几种方法: 二.join()方法 在这里插入图片描述 Thread thread1 ......
线程 任务 方法

java设计模式之观察者模式及springboot应用

1.介绍 当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。一般是多个观察者观察一个被观察者。比如,当一个对象被修改时,则会自动通知依赖它的对象。观察者模式属于行为型模式。也叫订阅-发布模式,监听器模式。 2.场景 当用户注册以后,需要给用户发送邮件,发送优惠券等操作 ......

设计模式-代理模式

定义 为其他对象提供一种代理以控制对这个对象的访问 类图 时序图 角色定义 抽象主体角色:抽象类或者接口,普通业务的定义 具体主体角色:被代理角色,业务逻辑的具体执行者 代理主体角色:委托类,代理类 优缺点 优点 职责清晰,实现好内部结构即可,具体客户要求由代理进行分化 高扩展性:具体主体角色随时变 ......
模式 设计模式

三天吃透Redis八股文

Redis连环40问,绝对够全! Redis是什么? Redis(Remote Dictionary Server)是一个使用 C 语言编写的,高性能非关系型的键值对数据库。与传统数据库不同的是,Redis 的数据是存在内存中的,所以读写速度非常快,被广泛应用于缓存方向。Redis可以将数据写入磁盘 ......
八股文 八股 Redis