reactor模式redis线程

Redis.js用法

Redis.js是一个用于连接和操作Redis数据库的JavaScript库。以下是一些常用的方法及其详细参数说明: 1. 创建Redis客户端实例: ```javascript const redis = require('redis'); const client = redis.createC ......
Redis js

观察者模式的简单使用

## 定义 > 观察者模式定义了对象之间的一对多依赖,当一个对象改变状态时,它的所有依赖者都会受到通知并自动更新。 观察者模式中有两个角色,一个是主题(Subject),一个是观察者(Observer)。观察者会观察主题,当主题发生了变化,观察者会做出相应的处理。主题跟观察者的关系是一对多。观察者模 ......
观察者 模式

02 程序,进程,线程

程序——>进程——>线程 程序:静态的 进程:动态的,程序运行起来的的过程 线程: 由一个或者多个线程组成进程。 eg:运行qq是一个进程,但有着很多的线程 ![](https://img2023.cnblogs.com/blog/3071897/202308/3071897-20230826185 ......
线程 进程 程序 02

mall:redis项目源码解析

[TOC] ## 一、mall开源项目 ### 1.1 来源 **mall学习教程**,架构、业务、技术要点全方位解析。mall项目(**50k+star**)是一套电商系统,使用现阶段主流技术实现。涵盖了SpringBoot 2.3.0、MyBatis 3.4.6、Elasticsearch 7. ......
源码 项目 redis mall

Windows线程API —CreateTimerQueueTimer/DeleteTimerQueueTimer的使用

问题代码: 1 #include<windows.h> 2 #include<iostream> 3 #include<thread> 4 HANDLE h1; 5 HANDLE h2; 6 7 void CALLBACK test(PVOID a, BOOLEAN b) 8 { 9 std::co ......

优化Redis缓存淘汰机制解决性能测试中报错率逐渐攀升问题

在某个查询场景的性能测试过程中,遇到了一个问题:测试过程中报错率逐渐攀升。进一步检查后发现,在查询业务所在应用的后台日志和平台应用的后台日志中,都出现了用户登录相关的报错信息。经过排查分析,发现了问题的根源,并做出了解决方案。 问题描述 在测试过程中,发现报错率逐渐增加,并且在后台日志中出现以下错误 ......
中报 缓存 机制 性能 问题

【23种设计模式】单例模式(一)

## 前言: 单例模式是创建型模式5种中的第1种,**关注对象的创建, 保证一个类仅有一个实例,并且提供一个全局访问点**。在软件系统中,经常有这样一些特殊的类,必须保证它们在系统中只存在一个实例,才能确保它们的逻辑正确性、以及良好的效率。如何绕过常规的构造器,提供一种机制来保证一个类只创建一个实例 ......
模式 设计模式

23种设计模式】设计模式综述(开篇)

## 一、设计模式概述: ​ **设计模式(Design pattern)**代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。是一套被反复使用的、多 ......
设计模式 模式 开篇

ubuntu安装go和redis

ubuntu系统怎么安装go的redis 要在Ubuntu系统上安装Go语言的Redis驱动,可以按照以下步骤进行操作: 首先,确保已经安装了Go语言和Redis。可以使用以下命令检查是否已经安装了Go语言: Copy go version 如果未安装Go语言,请使用以下命令安装: Copy sud ......
ubuntu redis

使用filebeat监听异常日志发送redis

使用场景: **自定义监听日志关键字符**,第一时间发现生产问题,实测从服务打出异常日志到redis监听到日志延迟在5s左右 适用于:服务机器数有限的情况,目前全部采用手动部署的方式, ## 一 、在目标机器上部署filebeat 1. 官网下载filebeat https://artifacts. ......
filebeat redis 日志

基于Redis实现用户签到

表结构: ``` CREATE TABLE `tb_sign` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `user_id` bigint unsigned NOT NULL COMMENT '用户id', `year` ......
用户 Redis

[fastllm]多线程下动态组batch实现解析

# [fastllm]多线程下动态组batch实现解析 ## 需求分析 新版本的fastllm中添加了ForwardBatch的功能,用于处理批量推理请求,单次推理请求会被视为batch为1的批量请求,这样做似乎没什么问题。 然而在具体实践中,用户的请求往往是一个一个来的,每来一个请求都要等上一个请 ......
线程 fastllm 动态 batch

设计模式-命令模式

# 命令模式 ## 模式定义 + 命令模式是一种行为定义模式,可以将请求转换成一个与请求相关的,包含该请求所有信息的独立对象,并且能够根据不同请求将方法参数化,延迟请求执行或者将其放入到队列中且能实现撤销等操作 ## 模式动机 + 敏捷开发的原则要求,不要在代码上添加基于猜测的,实际上不需要的功能。 ......
模式 设计模式 命令

磁盘配置的3种模式

磁盘置备的3种模式,工作中在VMware Esxi上虚拟服务器配置虚拟硬件、威联通NAS磁盘配置上遇到过。 下面介绍一下这3种模式 所谓磁盘置备,就是磁盘空间分配的技术。 精简置备 厚置备(延迟置零):假如说新分配的硬盘上有数据存在,配置完后硬盘上有新数据产生时,新数据会逐渐覆盖硬盘上的旧数据 厚置 ......
磁盘 模式

redis的五大数据类型

String(字符串)string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。string类型是Redis最基本的数据类型,一 ......
类型 数据 redis

Python多线程

当进行多线程编程时,涉及到以下几个关键概念和操作: 1. **创建多线程**: 使用 `threading.Thread` 类可以创建新的线程。通过传递一个函数(或可调用对象)作为参数给线程类,这个函数将成为线程的执行体。 import threading def worker(): print(" ......
线程 Python

Redis安装说明

# Redis安装说明 大多数企业都是基于Linux服务器来部署项目,而且Redis官方也没有提供Windows版本的安装包。因此课程中我们会基于Linux系统来安装Redis. 此处选择的Linux版本为CentOS 7. Redis的官方网站地址:https://redis.io/ # 1.单机 ......
Redis

线程和进程区别

什么是线程和进程? 进程 一个在内存中运行的应用程序。每个进程都有自己独立的一块内存空间,一个进 程可以有多个线程,比如在 Windows 系统中,一个运行的 xx.exe 就是一个进 程。 线程 进程中的一个执行任务(控制单元),负责当前进程中程序的执行。一个进程至 少有一个线程,一个进程可以运行 ......
线程 进程

在线教育知识付费系统源码,解码不同模式

在当今社会,知识付费如风一般掀起了热潮,成为了许多人关注的焦点。但对于知识付费究竟是什么,有些人可能还不太了解。让我用一条短视频来为你解开这个谜题。 ......
在线教育 源码 模式 知识 系统

观察者模式-21

### 概述 观察者模式(Observer Pattern)又称发布-订阅(Publish/Subscribe)模式、模型视图(Model/View)模式、源监听器(Source/Listener)模式、从属者(Dependents)模式。它定义了对象之间的一对多的关系,使得一个对象的状态发生改变时 ......
观察者 模式 21

redis的持久化机制

Redis提供了两种持久化机制:RDB(Redis Database)和AOF(Append-Only File)。 RDB持久化机制: RDB是一种快照(snapshot)持久化机制,它会将Redis内存中的数据以二进制形式保存到磁盘上。保存的文件是一个压缩过的二进制文件,通常以.rdb作为文件扩 ......
机制 redis

Redis使用细节(持续更新中)

# Redis使用细节 ## 分布式锁 因为Redis是单线程的,所以可以用setnx来模拟锁的获取释放从而实现分布式锁 在用setnx实现分布式锁时,会出现一些问题 + 业务超时解锁,导致并发问题。业务执行时间超过了锁超时的时间 + redis主从切换临界点问题,主从切换后,A持有的锁还没有同步到 ......
细节 Redis

多线程的基础

[toc] #linux和windows的差别 linux没有线程,windows系统有线程,但是两者对外部的表现是相同的 #差别 1. 线程有自己独立的地址空间,多个线程共用同一个地址空间 * 线程更加节省系统资源,开销更少,效率更高 * 每个线程有属于自己栈区和寄存器 * 多个线程共享:代码区 ......
线程 基础

线程协作

线程协作 1.生产者消费者模式 应用场景 假设仓库中只能存放一件产品﹐生产者将生产出来的产品放入仓库,消费者将仓库中产品取走消费。 如果仓库中没有产品﹐则生产者将产品放入仓库﹐否则停止生产并等待,直到仓库中的产品被消费者取走为止。 如果仓库中放有产品﹐则消费者可以将产品取走消费﹐否则停止消费并等待, ......
线程

继承Thread类实现多线程

# 继承Thread类实现多线程 * Thread类所属的包和实现的接口 ![image-20230825155848320](https://images.cnblogs.com/cnblogs_com/blogs/800940/galleries/2338925/o_230825081019_i ......
线程 Thread

守护线程与用户线程的使用场景和区别

基本概念 在 Java 中通常有两种线程:守护线程(Daemon Thread)和用户线程(User Thread) 守护线程:是一种特殊的线程,在后台默默地完成一些系统性的服务,比如垃圾回收线程、JIT 线程都是守护线程 用户线程:可以理解为是系统的工作线程,它会完成这个程序需要完成的业务操作。如 ......
线程 场景 用户

继承Thread类实现多线程

# 继承Thread类实现多线程 * Thread类所属的包和实现的接口 ![image-20230825155848320](https://images.cnblogs.com/cnblogs_com/blogs/800940/galleries/2338925/o_230825081019_i ......
线程 Thread

redis持久化策略

# Redis的持久化的策略: Redis的持久化的策略分成两种:RDB与AOF: ## 一. RDB持久化的策略: RDB全程叫作Redis Database Backup file (Redis数据备份文件),也被称之为Redis的数据快照,简单来说就是把内存中的所有的数据都记录到对应的磁盘当中 ......
策略 redis

redis中的分布式锁

# Redis当中的分布式锁问题: ## 1.redis中key设置不当会造成的问题: 我们所熟知的redis中的三大问题:缓存穿透,缓存雪崩与缓存击穿。其中缓存击穿就是数据在某一时间点会被超高并发量的访问,如果在此时key恰好过期,那么所有的访问便会全部落到db上面,会带给数据库不小的压力,严重时 ......
分布式 redis

redis与数据库一致性策略

# Redis与数据库的一致性问题: 我们常说的redis是非关系型的数据库,Mysql是关系型的数据库,很有可能我们修改的Mysql中数据在redis中同样存在一份备份,那么我们怎么保证redis与mysql数据库的数据一致性问题就是一个需要解决的问题。一般数据不一致的情形会出现在数据的写入的时候 ......
一致性 策略 数据库 数据 redis