reactor模式redis线程

多线程2

Join //join线程强制执行(插队)public class TestJoin implements Runnable{ @Override public void run() { for (int i = 0; i < 100; i++) {​ System.out.println("我是v ......
线程

多线程同步与安全

三大不安全线程 //模拟不安全的买票public class TestBuyTicket { public static void main(String[] args) { maiPiao maiPiao=new maiPiao();​ new Thread(maiPiao,"小明").start ......
线程

RabbitMQ 08 路由模式

路由模式 路由模式结构图: 定义配置类。 import org.springframework.amqp.core.Binding; import org.springframework.amqp.core.BindingBuilder; import org.springframework.amq ......
路由 RabbitMQ 模式 08

redis持久化概念

......
概念 redis

linux 安装redis

一、准备好 gcc 环境 yum install gcc-c++ 复制代码 出现以下日志,代表安装成功。Package gcc-c++-4.8.5-39.el7.x86_64 already installed and latest version Loaded plugins: fastestmi ......
linux redis

分布式系统——基于Redis的分布式锁的实现

分布式锁的介绍 分布式锁是分布式系统中用于协调多个进程或线程之间并发访问共享资源的一种机制。在分布式系统中,由于各个节点之间的通信存在延迟、故障等问题,可能会导致数据的不一致性。为了保证数据的一致性,需要使用分布式锁来协调各个节点的并发访问。 在分布式系统中,多个节点同时访问共享资源可能会导致以下问 ......
分布式 系统 Redis

Java多线程

1.可见性、原子性和有序性问题 多线程有三大特性,分别是可见性、原子性和有序性。 1.1可见性 在单核时代,所有的线程都是在一颗CPU上执行,CPU缓存与内存的数据一致性容易解决。因为所有线程都是操作同一个CPU的缓存,一个线程对缓存的写,对另外一个线程来说一定是可见的。一个线程对共享变量的修改,另 ......
线程 Java

设计模式(三十一)----综合应用-自定义Spring框架-自定义Spring IOC-定义解析器、IOC容器相关类

3 定义解析器相关类 3.1 BeanDefinitionReader接口 BeanDefinitionReader是用来解析配置文件并在注册表中注册bean的信息。定义了两个规范: 获取注册表的功能,让外界可以通过该对象获取注册表对象。 加载配置文件,并注册bean数据。 /** * @versi ......
Spring 设计模式 容器 IOC 框架

Redis 持久化之RDB 和 AOF

Redis 有两种持久化方案,RDB (Redis DataBase)和 AOF (Append Only File)。如果你想快速了解和使用RDB和AOF,可以直接跳到文章底部看总结。本章节通过配置文件,触发快照的方式,恢复数据的操作,命令操作演示,优缺点来学习 Redis 的重点知识持久化。 R ......
Redis RDB AOF

安装redis

1、下载安装reids-4.0.11 1、推荐进入到linux路径/usr/local/src 2、$ wget http://download.redis.io/releases/redis-4.0.10.tar.gz3、$ tar xzf redis-4.0.10.tar.gz 4、$ cd r ......
redis

php redis 悲观锁

悲观锁(Pessimistic Lock), 顾名思义,就是每次处理redis数据都以最悲观的场景展开,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都 ......
redis php

深入线程同步

刚接触线程的时候懵懵懂懂,懵懵逼逼,只是依稀记得线程需要同步,至于这么做的原因好像是避免线程由于对数据的竞争导致不可预知的结果。随着头发日渐稀疏,对线程同步的理解也不断加深了。 什么是线程同步 线程同步是指多个线程之间的协调同步,按照一定的次序进行执行。Linux中的线程同步机制主要有互斥锁、自旋锁 ......
线程

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

简介 组合模式(Composite Pattern),又叫部分整体模式,是一种结构型设计模式。用于把一组类似的对象当作一个单一的对象来看。组合模式依据树形结构来组合对象,用不同组件来构建某个部分或整体对象。 如果你需要实现树状对象结构,可以使用组合模式。如果你希望客户端代码以相同方式处理简单和复杂元 ......
设计模式 语言 模式 Python Java

【Design Pattern 23种经典设计模式源码详解】Java/JS/TS/Python/Go不同语言实现

经典设计模式源码详解,用不同语言来实现,包括Java/JS/Python/TypeScript/Go等。结合实际场景,充分注释说明,每一行代码都经过检验,确保可靠。 设计模式是一个程序员进阶高级的必然选择,不懂设计模式,就像写文章不懂得层次,盖房子没有结构。只有充分懂得设计之道,才能真正设计出良好的... ......
设计模式 源码 Pattern 语言 模式

redis集群简介

1.1 集群的概念 所谓的集群,就是通过添加服务器的数量,提供相同的服务,从而让服务器达到一个稳定、高效的状态。 1.1.1 使用redis集群的必要性 问题:我们已经部署好了redis,并且能启动一个redis,实现数据的读写,为什么还要学习redis集群? 答:(1)单个redis存在不稳定性。 ......
集群 简介 redis

redis 高级数据 hyperLogLog

1、 统计独立的UV 2、用做 基数 统计的 {1,3,5,7,8,7,5} 基数集:{1,3,5,7,8} 基数:5 {1,1,1,1,1,7,1} 基数集:{1,7} 基数:2 基数是数据集去重后元素个数 用于进行基数统计,不是集合,不保存数据,只记录数量而不是具体数据 核心是技术估算算法,最终 ......
hyperLogLog 数据 redis

利用redis完成自动补全搜索功能(一)

最近要做一个搜索自动补全的功能(目前只要求做最前匹配),自动补全就是自动提示,类似于搜索引擎,再上面输入一个字符,下面会提示多个关键词供参考,比如你输入 nb 2字符, 会自动提示nba,nba录像,nba直播 。 能想到的一般有3种解决方案 1.利用mysql来做,只能使用 like 'nb%'这 ......
功能 redis

Redis常用命令

命令参考:https://www.redis.net.cn 字符串String操作命令 Redis中字符串类型常用命令: * SET key value 设置指定key的值 * GET key 获取指定key的值 * SETEX key seconds value 设置指定key的值,并将key的过 ......
命令 常用 Redis

redis哨兵

Redis哨兵是一个用于监控Redis主从复制和故障转移的工具,它可以自动发现Redis的主从关系,并在主节点失效时自动完成故障转移。 Redis哨兵本身不存储数据,它只是在Redis集群中进行监控和管理,通过不断地与主节点、从节点进行交互,来判断节点的状态是否正常,当主节点失效时,哨兵会自动选举出 ......
哨兵 redis

redis持久化

Redis持久化是指将Redis内存中的数据保存到磁盘中,以防止数据在Redis重启后丢失。Redis支持两种不同的持久化方式:RDB和AOF。 RDB持久化:将内存中的数据定时或者按照一定规则保存到磁盘上的一个快照文件中。快照文件是一个二进制文件,包含了某个时刻Redis内存中的所有数据。RDB持 ......
redis

swoole+websocket+redis实现一对一聊天

如同web端的QQ和微信一样,这是一个web端的聊天程序。 环境:linux(centos) + php7.2 + swoole扩展 + redis + mysql Redis 实现每个连接websocket的服务都唯一绑定一个用户。通过 用户账号 = websocket fd 存到redis中。 ......
一对一 websocket swoole redis

Redis添加分布式锁

1.不是高并发的场景 stringRedisTemplate.opsForValue.setIfAbsent("zql","人在代码在",10,TimeUnit.SECONDS);//只加过期限制 2.高并发的场景 如果加锁的过期时间小于业务执行时间,那么需要给每个线程的锁加这个线程的唯一标识,让每 ......
分布式 Redis

redis通用命令

1、keys * :查看所有键 2、exists key:判断key是否存在,1表示存在,0表示不存在 3、del key1 key2...:删除key 4、type key:获取key的类型 ......
命令 redis

jmeter同线程、跨线程 cookie的处理

一、同一个线程内,推荐使用cookie管理器自动获取 在登录之后添加HTTP Cookie管理器,会自动记录cookie并且在之后的请求中,自动将保存的cookie信息加上 cookie管理器里,什么都不用修改 登录superman之后,进行创建普通用户,会发现cookie的数据已经自动填充 但是我 ......
线程 jmeter cookie

redis__string数据类型的操作

1、存数据:set key value 2、取数据:get key 3、删数据:del key 4、自增: incr key 5、自减: decr key 6、自增几个:incrby key step 7、自减几个:decrby key step nil:相当于null ......
类型 数据 string redis

redis五种数据类型

redis的键都是字符串类型,值的类型有以下五种(主要使用字符串类型): 1、字符串类型 string 2、散列类型 hash(Map<String,Map<String,String>>) 3、列表类型 list 4、集合类型 set 5、有序集合类型 sortedset ......
类型 数据 redis

HashMap和线程池

(一)HashMap 这个问题我觉得可以从 HashMap 的一些关键点入手,例如 hash 函数、如何处理冲突、如何扩容。 HashMap 无非就是一个存储 <key,value> 格式的集合,使得通过 key 在 O(1) 的时间复杂下就能查找到 value。 基本原理就是将 key 经过 ha ......
线程 HashMap

redis概述

remote:远程 dictionary:字典 server:服务 ......
redis

线程同步信号量相关知识

1.sigset_t 是信号集及信号集操作函数,信号集被定义为一种数据类型。 2.sigemptyset(&signal_mask) 将参数set信号集初始化并清空 3.sigaddset ,标识当前signal_mask处理的程序的代码正在运行时不会出现SIGINT信号 另一方面,如果你注释掉si ......
线程 信号 知识