reactor模式redis线程

Redis分片集群-故障转移

为了演示故障转移,我们可以先通过watch命令查看某台节点信息监控整个集群状态: watch redis-cli -p 9001 cluster nodes 接着我们让某台节点宕机,执行命令:redis-cli -p 9002 shutdown,回车。 可以发现控制台监控到9002已失去连接。等待一 ......
集群 故障 Redis

redis学习十三:数据类型命令及落地运用 (bitfield)

redis位域bitfield:将redis字符串看成一个由二进制组成的数组,并且对这个数组中任意偏移进行访问 1.获取hello的ascall码值图中分别对应h,e,l i有符合,u没符号 更改对应的值 2.什么都不说情况下是循环溢出:wrap使用回绕方法处理有符号整数和无符号整数的溢出情况 sa ......
bitfield 命令 类型 数据 redis

pmm版本1监控redis

环境: OS:Centos 7 PMM:版本1 注意:如下方法只适用于pmm版本1,pmm2好像不支持. 1.下载redis_exporterwget https://github.com/oliver006/redis_exporter/releases/download/v1.3.5/redis ......
版本 redis pmm

2、多线程锁

# 多线程锁 ## 乐观锁与悲观锁 ​ 悲观锁:认为 在使用数据的时候一定会有线程来修改数据,因此在获取数据的时候会先加索,确保数据不会被别的线程修改 ​ synchronized和Lock的实现类都是悲观锁 ​ 使用场景:适合操作写多的场景,**先加锁**可以保证写操作时数据正确,显示锁定后**再 ......
线程

3、LockSupport与线程中断

# LockSupport与线程中断 ## 线程中断 ​ 首先 ​ 一个线程不应该由其他线程来强制中断或停止,而是***应该由线程自己自行停止***,自己来决定自己的命运。所以,Thread.stop,Thread.suspend, Thread.resume 都已经被废弃了。 ​ 其次 ​ 在Ja ......
线程 LockSupport

Redis分片集群-集群伸缩

redis-cli --cluster提供了很多操作集群的命令,可以通过下面方式查看: redis-cli --cluster help执行如下: 比如,添加节点的命令: new_host代表需要添加的节点ip, exitsting_host代表已经存在的主机IP,也即集群中已经有的,为什么需要知道 ......
集群 Redis

构造器模式

大量的构造器设计模式,很多的配置都不建议直接new出来,而且相关的API也有所改动,例如连接参数, * 以前是直接new出HttpConnectionParams对象后通过set方法逐一设置属性, 现在有了构造器,可以通过如下方式进行构造: * SocketConfig.custom().setSo ......
模式

java使用AES算法的CBC模式加密

https://blog.csdn.net/qq_25816185/article/details/81626499?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECT ......
算法 模式 java AES CBC

命令模式

命令模式是一种行为设计模式,它将一个方法包装成一个独立的对象。 ![image](https://img2023.cnblogs.com/blog/3217284/202306/3217284-20230626131910673-1227622714.png) => ![image](https:/ ......
命令 模式

解决redis从服务器未配置主服务器密码导致数据未同步&磁盘饱满问题

## 问题前置场景 本人前几天买了一台2核4G+40G磁盘空间的云服务器用来学习使用,在服务器上安装了docker。为了学习redis主从架构,使用docker-compose部署了一主二从三台redis服务,部署完成之后测试发现从服务器并没有同步主服务器的数据,查看配置文件没有看出来什么问题,进入 ......
服务器 磁盘 密码 数据 问题

保证线程安全的10个小技巧

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

浅析 Jetty 中的线程优化思路

本文介绍了 Jetty 中 ManagedSelector 和 ExecutionStrategy 的设计实现,通过与原生 select 调用的对比揭示了 Jetty 的线程优化思路。Jetty 设计了一个自适应的线程执行策略(EatWhatYouKill),在不出现线程饥饿的情况下尽量用同一个线程... ......
线程 思路 Jetty

SimpleDateFormat 线程不安全!使用DateTimeFormatter

1、报错原因: (1)、SimpleDateFormat 是线程不安全的 (2)、代码想把格林威治时间转换成yyyy-MM-dd HH:mm:ss 报错 Exception in thread :java.lang.NumberFormatException: For input string: " ......

1.UDP模式

不同节点pod间通信(UDP模式) 发送流程 1.发送数据报文,发现是不同网段,但找不到路由,转给默认网关cni0 2.cni0查看宿主机路由表:去往目的pod所在网段转给tun设备flannel0,而后由flanneld进程截获,由它指导内核封装数据报文,由于flanneld进程在启动之初会收集各 ......
模式 UDP

07.生成器模式(Builder)

### 使用生成器模式来解决问题 #### 定义 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 ### 生成器模式的结构和说明 * Builder:生成器接口,定义创建一个 Product 对象所需的各个部件的操作。 * ConcreteBuilder:具体的生成器实现 ......
生成器 Builder 模式 07

设计模式之适配器模式--新能源的发展

# 前言 本文主要讲述**适配器模式**,文中使用通俗易懂的案例,使你更好的学习本章知识点并理解原理,做到有道无术。 # 一.什么是适配器模式 适配器模式是23种设计模式中**结构型模式**的一种,将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以 ......
模式 设计模式 新能源 适配器

Linux多线程10-死锁

有时,一个线程需要同时访问两个或更多不同的共享资源,而每个资源又都由不同的互斥量管理。当超过一个线程加锁同一组互斥量时,就有可能发生死锁。 两个或两个以上的进程在执行过程中,因争夺共享资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁。 死锁的 ......
线程 Linux 10

Linux多线程09-互斥锁

- 为避免线程更新共享变量时出现问题,可以使用互斥量(mutex 是 mutual exclusion的缩写)来确保同时仅有一个线程可以访问某项共享资源。可以使用互斥量来保证对任意共享资源的原子访问。 - 互斥量有两种状态:已锁定(locked)和未锁定(unlocked)。任何时候,至多只有一个线 ......
线程 Linux 09

Linux多线程11-读写锁

当有一个线程已经持有互斥锁时,互斥锁将所有试图进入临界区的线程都阻塞住。 但是考虑一种情形,当前持有互斥锁的线程只是要读访问共享资源,而同时有其它几个线程也想读取这个共享资源,但是由于互斥锁的排它性,所有其它线程都无法获取锁,也就无法读访问共享资源了,但是实际上多个线程同时读访问共享资源并不会导致问 ......
线程 Linux 11

Linux多线程13-条件变量

上节代码存在的问题: 生产者已经没有数据了, 消费者还在while循环判断是否有数据,浪费资源 没有数据了应该通知生产者生产,生产好了通知消费者消费 这就需要条件变量 pthread_cond_t ```c int pthread_cond_init(pthread_cond_t *restrict ......
线程 变量 条件 Linux 13

Linux多线程14-信号量

信号量的类型 sem_t ```c int sem_init(sem_t *sem, int pshared, unsigned int value); 初始化信号量 参数: - sem: 信号量变量地址 - pshared: 0 用在线程间, 非0 用在进程间 - value: 信号量中的值 in ......
线程 信号 Linux 14

Linux多线程12-生产者和消费者模型

![image](https://img2023.cnblogs.com/blog/894919/202306/894919-20230626085900099-1696309927.png) 一个最简单的生产者消费者模型 ```c /* 生产者消费者模型(粗略版) */ #include #inc ......
生产者 线程 模型 消费者 Linux

Linux多线程01-线程概述

### 线程概述 - 与进程(process)类似,线程(thread)是允许应用程序并发执行多个任务的一种机制。一个进程可以包含多个线程。同一个程序 中的所有线程均会独立执行相同程序,且共享同一份全局内存区域,其中包括初始化数据段、未初始化数据段,以及堆内存段。(传统意义上的 UNIX 进程只是多 ......
线程 Linux 01

Linux多线程02-创建线程

### pthread_create 描述: > pthread_create() 函数在调用进程中创建一个新的线程。新线程通过调用 start_routine() 开始执行,arg 作为 start_routine() 的唯一参数传递。 新线程以以下方式之一终止: - 调用 pthread_exi ......
线程 Linux 02

Linux多线程03-终止线程

### pthread_exit 和 pthread_self 和 pthread_equal 描述: #### **pthread_exit** > pthread_exit() 函数终止调用该函数的线程,并通过retval返回一个值,如果该线程是可连接的,则在同一进程中调用pthread_joi ......
线程 Linux 03

Linux多线程06-线程取消

### pthread_cancel 描述: > pthread_cancel()函数向线程thread发送一个取消请求。目标线程对取消请求的响应取决于该线程控制的两个属性:其取消状态和类型。 一个线程的取消状态由pthread_setcancelstate(3)确定,可以启用(对于新线程而言是默认 ......
线程 Linux 06

Linux多线程07-线程属性

线程属性类型: pthread_attr_t 描述: pthread_attr_setdetachstate() 函数 将由 attr 引用的线程属性对象的分离状态属性设置为 detachstate 中指定的值。分离状态属性确定使用线程属性对象 attr 创建的线程将在可连接状态还是分离状态下创建。 ......
线程 属性 Linux 07

Linux多线程08-线程同步

一个多线程售票示例: ```c // 三个窗口, 共100张票 #include #include #include int tickets = 100; //所有线程都共享这100张票 void* sellticket(void* arg){ // 卖票 while(tickets>0){ usl ......
线程 Linux 08

Linux多线程05-线程的分离

### pthread_detach 描述: > pthread_detach()函数将由thread标识的线程标记为已分离。当一个分离的线程终止时,它的资源会自动释放回系统,而不需要另一个线程与已终止的线程加入。尝试分离一个已经分离的线程会导致未指定的行为。 ```c #include int p ......
线程 Linux 05

Linux多线程04-连接已终止的线程

### pthread_join 描述: > pthread_join() 函数等待由 thread 指定的线程终止。如果该线程已经终止,则pthread_join()将立即返回。由thread指定的线程必须是可连接的。 如果retval不为NULL,则pthread_join()将目标线程的退出状 ......
线程 Linux 04