reactor模式redis线程
12.20设计模式复习安排
1.默写每个模式的定义和例子 2.每个原则的定义 3.对应模式代码核心内容 4.看模式实例画类图 对于下述场景,选择合适的软件设计模式进行设计,说明选用的设计模式的名称,简单描述该模式,并画出对应的类图。(共 15 分,其中软件设计模式的名称 3 分,模式描述 4 分,类图 8 分) 题一: 题二: ......
redis锁定商品解决并发售卖问题 RedisUtil工具类
redis锁定商品解决并发售卖问题 RedisUtil工具类 redis数据类型介绍: //伪代码,基本思路 //1.出redis,每次在选定商品之后,先检查redis是否已经锁定该商品,避免超卖。Set<String> cacheList = redisUtilService.getSetValu ......
redis分布锁
1.什么是redis分布式锁 Redis分布式锁是一种利用Redis实现的锁机制,用于在分布式系统中保护共享资源的访问。它利用Redis的原子性操作和过期时间设置来实现互斥访问。 在分布式环境中,多个进程或线程可能同时访问共享资源,如果没有合适的机制来保护共享资源,就会导致数据不一致或竞争条件的发生 ......
Redis缓存
Redis(Remote Dictionary Server)是一个开源的高性能键值对(key-value)存储系统,常被用作数据库、缓存和消息代理。它支持多种数据结构,如字符串、哈希表、列表、集合和有序集合。 为什么要用Redis? 使用Redis有多个原因,包括: 高性能:Redis是基于内存存 ......
在线程或子程中改UI属性
1、在线程中改UI TThread.Synchronize(Nil,procedure begin Form1.Label12.Caption:='共'+IntToStr(zs)+'张图片,正在处理第'+IntToStr(i)+'张'; end); 2、在子程中改UI Application.Que ......
代理模式
Subject泛化成代理类和一个真实类,而代理类又依赖真实类,服务器可以通过代理类进而使用真实类 例如: Proxy: Real real = new Real(); request(); login(boolean a): if a == true: return real.request(); ......
Redis异常问题分析黄金一分钟
Redis异常问题分析黄金一分钟 背景 同事发现一个环境redis比较卡顿,导致业务比较难以开展. 问题是下午出现的. 六点左右找到我这边. 想着帮忙看看, 问题其实没有定位完全, 仅是发现了一个可能的点. 所以想记录一下, 备查 步骤 登录redis进行查看 处理的过程: 1. info memo ......
MongoDB、Elasticsearch、Redis、HBase应用场景分析
1. MongoDB 一个基于分布式文件存储的数据库系统,由C++编写,旨在为Web应用提供高速、可扩展、高性能的数据存储解决方案。MongoDB采用了文档型数据库模型,即数据以文档的形式存储,而文档是由键值对组成的。MongoDB的名称来自Hadoop创始人Doug Cutting的宠物狗Mong ......
java设计模式
三大种类型的设计模式 创建型模式:关注对象的创建过程。 结构型模式:关注对象与类的组织模式 行为型模式:关注对象之间的交互 23种设计模式 简单工厂模式 定义:根据参数的不同返回不同类的实例。 工厂方法模式 定义:通过工厂子类来确定究竟应该实例化哪一个具体产品类 例子:日志记录器 抽象工厂模式 定义 ......
Redis全文搜索教程之创建索引并关联源数据
Redis 全文搜索是依赖于 Redis 官方提供的 RediSearch 来实现的。RediSearch 提供了一种简单快速的方法对 hash 或者 json 类型数据的任何字段建立二级索引,然后就可以对被索引的 hash 或者 json 类型数据字段进行搜索和聚合操作。 这里我们把被索引的 ha ......
Lock、Monitor线程锁
Lock、Monitor线程锁 官网使用 https://learn.microsoft.com/zh-cn/dotnet/api/system.threading.monitor?view=net-8.0 一. Lock 1.1介绍 Lock关键字实际上是一个语法糖,它将Monitor对象进行封装 ......
命令模式
#include <iostream> #include <vector> using namespace std; class Light { public: void on() { cout << "灯亮了" << endl; } void off() { cout << "灯灭了" << en ......
面试官:什么是虚拟线程?为什么要有虚拟线程?
Java 中的虚拟线程,也叫做协程或“轻量级线程”,它诞生于 JDK 19(预览 API),正式发布于 JDK 21,它是一种在 Java 虚拟机(JVM)层面实现的逻辑线程,不直接和操作系统的物理线程一一对应,因此它可以减少上下文切换所带来的性能开销。 操作系统线程、普通线程(Java 线程)和虚 ......
java多线程
一、进程 二、线程 三、通过继承Thread类实现多线程 1、Thread概述 示例: 2、设置和获取线程名称 3、线程优先级 示例: 4、线程控制 5、线程生命周期 四、通过实现Runnable接口实现多线程 1、概述 示例: 2、总结 五、线程同步 1、买票实例分析线程同步 问题思考: 下面进行 ......
docker网络模式
Docker网络 我们使用容器,不单是运行单机程序,当然是需要运行网络服务在容器中,那么如何配置docker的容器网络,基础网络配置,网桥配置,端口映射,还是很重要。 docker网络功能 docker的网络功能就是利用Linux的network namespace,network bridge,虚 ......
设计模式—代理模式
介绍 代码 接口 创建接口 Image public interface Image { void display(); } 实体类 创建实体类 RealImage public class RealImage implements Image { private String fileName; ......
设计模式—观察者模式
介绍 代码 观察者父类 只有一个属性 subject 表示订阅的主题。update 方法用于更新观察者本身 public abstract class Observer { protected Subject subject; public abstract void update(); } 主题类 ......
Python实现软件设计模式6:单例模式 Singleton Pattern
动机 针对某个类,为了保证系统中只创建一个示例,并且易于被访问(例如操作系统的任务管理器,软件的登陆注册界面) 自行创建这个实例,无法从外部创建这个实例,向系统提供这个实例 饿汉式单例 Java版本 在类加载的时候,就创建对象,如果后续得不到使用,可能会造成内存资源浪费 懒汉式单例 Java版本 只 ......
【转载】Redis 6.x 学习笔记
参考 http://www.redis.cn/ https://www.runoob.com/redis/redis-data-types.html https://developer.aliyun.com/article/1095427 https://zhuanlan.zhihu.com/p/4 ......
Python实现软件设计模式5:原型模式 Prototype Pattern
动机 对象的克隆问题,想要复制出本对象的一个副本,属性方法一模一样 从需求上来说,先快速克隆对象,后续根据需求再进行对象局部属性的修改 区分为深克隆和浅克隆两个版本,默认为浅克隆 角色 Prototype 抽象原型类 Concrete Prototype 具体原型类 Client 客户类 浅克隆与深 ......
12.19设计模式复习
职责链模式 定义:避免发送者和处理者耦合,让多个对象都能处理请求,让对象形成一条链,把请求传递下去,直到有对象处理。 模式角色: 抽象处理对象 具体处理对象 客户 类图: 抽象处理对象与具体处理对象为继承关系 抽象处理对象与自己是聚合关系 抽象处理对象与客户是依赖关系 命令模式 定义:将请求封装起来 ......
适配器模式
在你成功拿到五心之钢后,为了能够好好玩这把天选局,偷摸溜了出去,进到厕所,发现商店中静静躺着一张伊泽瑞尔,而后又在接下来的选秀中拿到铲子和腰带,你激动的合成了心之钢转,在你放上伊泽瑞尔后,发现你现在没有凯隐,因此你将一张布里茨放了上去,给它一张心之钢转,当当当!七心之钢! 心之钢转就是适配器, 布里 ......
Redis和Mysql如何保证数据一致性?
1、redis作用: 用于读数据库操作的缓存层,可以减少数据库的io,还能提升数据的io性能; 无法保证数据的acid 2、实现一致性方案: 1、先更新数据库,在更新缓存 2、先删除缓存再更新数据库 3、最终一致性方案: (1)基于roketMQ可靠通信 (2)通过canal组件采集mysql bi ......