reactor模式redis线程

观察者模式在项目中的实际应用

观察者模式观察者模式的定义:在对象之间定义一个一对多的依赖,当一个对象状态改变的时候,所有依赖的对象都会自动收到通知! 发布订阅模式是什么? 观察者模式和发布订阅模式是有一点点区别的,区别有以下几点: 前者:观察者订阅主题,主题也维护观察者的记录,而后者:发布者和订阅者不需要彼此了解,而是在消息队列 ......
观察者 实际 模式 项目

Java面试题 P23:Redis篇:redis分布式锁,是如何实现的?

单台服务器:加synchronlzed解决方案。 (1)采用Watch dag 给锁续期 (2)抢不到锁的线程会尝试等待 (3)所有的redis命令采用lua脚本,保证执行的原子性 ......
分布式 Redis redis Java P23

设计模式原则之:单一职责模式

对类来说的,即一个类应该只负责一项职责。如类A负责两个不同的职责,职责1,职责2。当职责1需求变更而改变A时,可能造成职责2智行错误,所以要将类A的粒度分解为A1,A2 错误的应用实例 package org.example.demo0; /** * @description: 单一职责原则 * @ ......
模式 设计模式 职责 原则

设计模式中的七大设计原则

设计模式的目的 编写软件过程中,程序员面领着来自耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性 等多方面的挑战,设计模式是为了让程序,具有更好的 代码重用性(即:相同功能的代码,不用多次编写) 可读性(即:编码规范性,便于其他程序员的阅读和理解) 可扩展性(即:需要增加新的功能时,非常的方便, ......
设计模式 七大 原则 模式

多线程

# 多线程 ## 线程简介 任务,进程,线程,多线程 ``` bash 在操作系统中运行的程序就是进程,比如QQ,播放器,游戏,IDE等等。。。 一个进程可以有多个线程,如视频中同时听声音,看图像,看弹幕,等等 ``` **Process**(**进程**)与**Thread**(**线程**) - ......
线程

Java面试题 P20:Redis篇:Redis做为缓存,数据的持久化是怎么做的?

Redis做为缓存,数据的持久化是怎么做的? 在Redis中提供了两种数据持久化的方式:1、RDB 2、AOF ......
Redis 缓存 数据 Java P20

Java面试题 P19:Redis篇:Redis做为缓存,mysql的数据如何与redis进行同步呢(双写一致)

双写一致性:当修改了数据库的数据也要同时更新缓存的数据,缓存和数据库的数据要保持一致。 共享锁:读锁代码 排他锁,写数据。读锁和写锁的值要一致。 MQ异步消息通知: ......
Redis 缓存 数据 mysql redis

Redis中的过期策略

# redis过期策略 **定时过期、惰性过期、定期过期** 问题:使用expire key 60,在key60s之后key就会过期,之后如何清除key ## 定时过期 每个设置过期时间的key都创建一个定时器,到时间就会对key进行清除。该策略可以立即清除过期key,对内存友好,但是需要消耗大量的 ......
策略 Redis

redis主从复制

## 1. 概念 指将一台Redis服务器的数据,复制到其它的Redis服务器。前者称为**主节点**(master),后者称为**从节点**(slave);数据的复制是**单向**的,只能由主节点到从节点。 ## 2. 配置步骤 1、在/etc/redis下面,将6379.conf拷贝两份,分别称 ......
主从 redis

Java面试题 P18:Redis篇:Redis使用场景-缓存-缓存雪崩

缓存雪崩:是指在同一时段大量的缓存key同时失效或者Redis服务宕机,导致大量的请求到达数据库,带来巨大压力。 ......
缓存 雪崩 Redis 场景 Java

boost asio多线程模式-IOThreadPool

今天给大家介绍asio多线程模式的第二种,之前我们介绍了IOServicePool的方式,一个IOServicePool开启n个线程和n个iocontext,每个线程内独立运行iocontext, 各个iocontext监听各自绑定的socket是否就绪,如果就绪就在各自线程里触发回调函数。为避免线 ......
线程 IOThreadPool 模式 boost asio

boost asio多线程模型-IOServicePool

前面的设计,我们对asio的使用都是单线程模式,为了提升网络io并发处理的效率,这一次我们设计多线程模式下asio的使用方式。总体来说asio有两个多线程模型,第一个是启动多个线程,每个线程管理一个iocontext。第二种是只启动一个iocontext,被多个线程共享,后面的文章会对比两个模式的区 ......
线程 IOServicePool 模型 boost asio

linux 4 网络基础 POLL EPOLL epoll堆 线程池 udp 本地套接字

Linux 5day ###### 1.poll监听 poll相对与sellect的优缺点 优点: 没有文件描述符1024的限制 请求和返回是分离的 如:select read集合 返回read集合 缺点和select一样: 每次都需要将需要监听的文件描述符从应用层拷贝到内核 每次都需要将数组中的元 ......
套接字 网络基础 线程 基础 linux

redis快-IO多路复用

[IO多路复用](https://www.cnblogs.com/yliunyue/p/17593921.html "IO多路复用") ## Redis中的IO多路复用 在Redis中,也使用了I/O多路复用来实现高效的网络通信。Redis是一个高性能的键值存储数据库,其主要通过使用非阻塞I/O和I ......
redis IO

单线程事务与多线程事务处理方法

#### 一、单线程处理事务 ##### 1.可以使用@Transactional来进行处理 ###### 原因: 在spring中可以使用@Transactional注解去控制事务,使出现异常时会进行回滚,在多线程中,这个注解则不会生效, 如果主线程需要先执行一些修改数据库的操作,当子线程在进行处 ......
线程 事务 方法

Cilium系列-9-主机路由切换为基于 BPF 的模式

## 系列文章 * [Cilium 系列文章](https://ewhisper.cn/tags/Cilium/) ## 前言 将 Kubernetes 的 CNI 从其他组件切换为 Cilium, 已经可以有效地提升网络的性能. 但是通过对 Cilium 不同模式的切换/功能的启用, 可以进一步提 ......
路由 主机 模式 Cilium BPF

Redis proxy 组件之 Predixy

Predixy 是一款高性能全特征 redis 代理,支持 redis-sentinel 和 redis-cluster 组件特性: [Predixy 支持的功能](https://github.com/joyieldInc/predixy/blob/master/README_CN.md) 为什么 ......
组件 Predixy Redis proxy

linux 8 基于线程池和epoll监听实现聊天服务器

###### 1.立项 功能 1.聊天总人数显示 2.账号密码注册功能-保留名字-永久保留id->保留id功能取消 3.总聊天室-进入前可输入名字 顺序id 4.聊天室聊天 5.单对单聊天 6.id=cfd串联起来 ###### 4.服务器代码 ``` #include "threadpoolsim ......
线程 服务器 linux epoll

【高并发】SimpleDateFormat类到底为啥不是线程安全的?(附六种解决方案,建议收藏)

**大家好,我是冰河~~** **首先问下大家:你使用的SimpleDateFormat类还安全吗?为什么说SimpleDateFormat类不是线程安全的?带着问题从本文中寻求答案。** 提起SimpleDateFormat类,想必做过Java开发的童鞋都不会感到陌生。没错,它就是Java中提供的 ......

Android 架构模式如何选择

Android架构模式飞速演进,目前已经有MVC、MVP、MVVM、MVI。到底哪一个才是自己业务场景最需要的,不深入理解的话是无法进行选择的。这篇文章就针对这些架构模式逐一解读。重点会介绍Compose为什么要结合MVI进行使用。希望知其然,然后找到适合自己业务的架构模式。 ......
架构 Android 模式

Linux Redis配置

Redis是一个开源的高性能键值对存储系统,具有快速、灵活和可扩展的特性。 它是一个基于内存的数据结构存储系统,可以用作数据库、缓存和消息代理。 Redis的一些主要特点和用途: 高性能:Redis数据存储在内存中,因此能够提供极快的读写操作。 它采用单线程模型和异步 I/O,避免了多线程的竞争和阻 ......
Linux Redis

reactor.core.Exceptions$ErrorCallbackNotImplemented: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0

生产环境好好的,突然前端请求全部跨域,请求 500。gateway 报错。reactor.core.Exceptions$ErrorCallbackNotImplemented:java.lang.IndexOutOfBoundsException: Index: 0, Size: 0。所有的接口都 ......

Redis从入门到放弃(5):事务

## 1、事务的定义 Redis的事务提供了一种“将多个命令打包, 然后一次性、按顺序地执行”的机制。 redis事务的主要作用就是串联多个命令防止别的命令插队。 但是,事务并不具有传统数据库事务的特性,如回滚。 ## 2、事务命令 Redis中的事务可以通过以下命令来执行: * `MULTI`:用 ......
事务 Redis

redis monitor 监控说明

## 1、监视器 Redis监视器是用于监控或观察Redis服务器指令执行的一种特殊的客户端。创建Redis监视器的方式也很简单,启动一个客户端后,执行monitor指令,客户端将进入监视器状态。进入监视器状态的客户端将不再接受Redis指令输入,而称为了一个实时接受服务器指令执行信息的消费者。如下 ......
monitor redis

Spring中的设计模式详解

Spring 中的设计模式详解​ JDK 中用到了哪些设计模式?Spring 中用到了哪些设计模式?这两个问题,在面试中比较常见。我在网上搜索了一下关于 Spring 中设计模式的讲解几乎都是千篇一律,而且大部分都年代久远。所以,花了几天时间自己总结了一下,由于我的个人能力有限,文中如有任何错误各位 ......
设计模式 模式 Spring

python操作redis

#redis/relate # 一、python 连接 redis ## 1. 方式一 ```python import redis # 创建连接对象 r = redis.Redis(host='127.0.0.1', port=6379) r.set('name', 'zhangsan') pri ......
python redis

redis常见的5中数据类型以及相关命令

#redis # redis 简介 - redis 是采用 ASNI C 语言编写的 - 采用的是 C/S 架构 - 是非关系型数据库 - 以键值对的形式存储在内存中 # redis 在 windows 中的启动命令 - `redis-server redis.windows.conf` - `re ......
命令 常见 类型 数据 redis

后端开发必知的11个线程安全小技巧

对于从事后端开发的同学来说,线程安全问题是我们每天都需要考虑的问题。 线程安全问题通俗地讲主要是在多线程的环境下,不同线程同时读和写公共资源(临界资源)导致的数据异常问题。 比如:变量a=0,线程1给该变量+1,线程2也给该变量+1。此时,线程3获取a的值有可能不是2,而是1。线程3这不就获取了错误 ......
线程 技巧