reactor模式redis线程

设计模式-day06

6,行为型模式 6.11 解释器模式 6.11.1 概述 如上图,设计一个软件用来进行加减计算。我们第一想法就是使用工具类,提供对应的加法和减法的工具方法。 //用于两个整数相加 public static int add(int a,int b){ return a + b; } //用于两个整数 ......
设计模式 模式 day 06

【IT老齐002】MySQL集群模式与应用场景

【IT老齐002】MySQL集群模式与应用场景 单库模式 优点 简单粗暴 适合数据量干万以下小型应用 企业网站,创业公司首选 缺点 不具备可用性与并发性 读写分离集群模式 读写分离中间件 insert、update、delete负载均衡到从库 select路由到主库 MySQL主从复制 binlog ......
集群 场景 模式 MySQL 002

主从redis部署(docker)

首先,我准备了两台linux,一台准备当作master,ip是192.168.241.128,另一台是当作slave,ip是192.168.241.129。 1. 安装redis docker pull redis 2. 下载对应版本的redis.conf 可以从github上下载。新建配置环境目录 ......
主从 docker redis

Docker安装Redis

创建本地挂载文件 mkdir -p /app/redis && cd $_ && touch redis.conf 解释: /app/redis: 是挂载配置文件的路径 redis.conf: redis的配置文件 redis.conf配置文件内容 redis.conf docker安装Redis ......
Docker Redis

MVC模式和三层结构

###MVC模式和三层架构 #MVC 模式和三层架构是一些理论的知识,将来我们使用了它们进行代码开发会让我们代码维护性和扩展性更好。 ##MVC模式 MVC是一种分层开发的模式,其中: *M:Model,业务模型,处理业务 *V:View,视图,界面展示 *C:Controller,控制器,处理请求 ......
模式 结构 MVC

基础线程机制

Executor Executor 管理多个异步任务的执行,而无需程序员显式地管理线程的生命周期。这里的异步是指多个任务的执行互不干扰,不需要进行同步操作。 主要有三种 Executor: CachedThreadPool: 一个任务创建一个线程; FixedThreadPool: 所有任务只能使用 ......
线程 机制 基础

第8章 多线程

8.1 线程简介 1 、多任务 现实生活中多件事一起作。 在程序中是指在一个系统中可以同时进行多个进程,即有多个单独运行的任务,每一个任务对应一个进程。 每一个进程都有一段专用的内存区域,即使是多次启动同一段程序产生不同的进程也是如此。 2、多线程 Java 给多线程编程提供了内置的支持。 一条线程 ......
线程

nodejs pm2集群模式配置

项目只开一个线程,压力大,又不想开多个端口,就用了pm2集群,把配置记下来,防止下次找不到,但集群也有个麻烦的地方,就是在a线程生产的全局变量,并不能在b线程中找到,互不相通,客户端向服务端请求的时候并不是一直是同一个线程,可能会换的。底下是配置,保存的格式是.json,然后 pm2 start c ......
集群 模式 nodejs pm2 pm

CentOS7.6 配置Redis的Systemd服务

This systems seems to use systemd. Please take a look at the provided example service unit files in this directory, and adapt and install them. Sorry!... ......
CentOS7 Systemd CentOS Redis

线程使用方式

有三种使用线程的方法: 实现 Runnable 接口; 实现 Callable 接口; 继承 Thread 类。 实现 Runnable 和 Callable 接口的类只能当做一个可以在线程中运行的任务,不是真正意义上的线程,因此最后还需要通过 Thread 来调用。可以说任务是通过线程驱动从而执行 ......
线程 方式

线程状态转换

新建(New) 创建后尚未启动。 可运行(Runnable) 可能正在运行,也可能正在等待 CPU 时间片。 包含了操作系统线程状态中的 Running 和 Ready。 阻塞(Blocking) 等待获取一个排它锁,如果其线程释放了锁就会结束此状态。 无限期等待(Waiting) 等待其它线程显式 ......
线程 状态

多线程(一)

#一:什么是多线程 线程是操作系统能够进行运算调度的最小单位;它被包含在进程之中,是进程中的实际运作单位。 多线程,是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。 简单来说:线程是程序中一个单一的顺序控制流程 ......
线程

redis数据结构

ZipList ziplist是一种特殊的“双向链表”,由一系列特殊编码的连续内存组成,可以在任意一端进行压入和弹出。 ZipList的结构 ZipListEntry的结构 entry并不像普通双向链表节点用两个指针指向前后节点,为了节省空间。 previous_entry_length:前一个节点 ......
数据结构 结构 数据 redis

ZSTD多线程压缩

测试代码: 1 // main.cpp 2 // 3 4 #include <iostream> 5 #include <fstream> 6 #include <vector> 7 #include <chrono> 8 #include <thread> 9 #include "./zstd/l ......
线程 ZSTD

redis高级:集群原理及搭建

一、集群原理及搭建 当我们做了读写分离,做了哨兵高可用,还下列存在问题: 并发量:单机redis qps为10w/s,但是我们可能需要百万级别的并发量 数据量:机器内存16g--256g,如果存500g数据呢? 解决方案:使用集群 即加机器,使用分布式 1、redis集群介绍 redis clust ......
集群 原理 redis

redis高级:持久化方案、主从复制原理和方案、哨兵高可用

一、持久化方案 1、什么是持久化 redis的所有数据保存在内存中,把内存中的数据同步到硬盘上这个过程称之为持久化 ps:redis是默认使用自动持久化的,在使用redis的时候我们如果不是强行关掉redis服务,再启动,就可以看到之前设置的数据。因为正常退出或执行shutdown关闭redis连接 ......
方案 主从 哨兵 原理 redis

redis高级:GEO地理位置信息、乐观锁悲观锁及python中实现

一、GEO地理位置信息 介绍 GEO(地理信息定位):存储经纬度,计算两地距离,范围等 他的本质是一个有序集合。 我们可以根据经纬度,确定具体地址的。比如使用高德开放api返回具体地址(但是可能有些时候不准确,需要人工去处理这些问题) 应用举例: 北京:116.28,39.55 天津:117.12, ......
地理位置 地理 位置 python redis

为什么Sync.Pool不需要加锁却能保证线程安全

1. 简介 我们在 Sync.Pool: 提高go语言程序性能的关键一步 一文中,已经了解了使用sync.Pool来实现对象的复用以减少对象的频繁创建和销毁,以及使用sync.Pool的一些常见注意事项。 在这篇文章中,我们将剖析sync.Pool内部实现中,介绍了sync.Pool比较巧妙的内部设 ......
线程 Sync Pool

Rust编程语言入门之模式匹配

模式匹配 模式 模式是Rust中的一种特殊语法,用于匹配复杂和简单类型的结构 将模式与匹配表达式和其他构造结合使用,可以更好地控制程序的控制流 模式由以下元素(的一些组合)组成: 字面值 解构的数组、enum、struct 和 tuple 变量 通配符 占位符 想要使用模式,需要将其与某个值进行比较 ......
编程语言 语言 模式 Rust

x64逆向——MT、MT在release和debug下的四种模式寻找main入口

vs代码生成四种模式: MT选项:链接LIB版的C和C++运行库。在链接时就会在将C和C++运行时库(LIBCMT.LIB、LIBC.LIB)集成到程序中,程序体积会变大。MTd选项:LIB的调试版。MD选项:使用DLL版的C和C++运行库,这样在程序运行时会动态的加载对应的DLL,程序体积会减小, ......
入口 release 模式 debug main

设计模式之[构建者模式(Builder)]-C#

说明:构建一个大对象时,可以分解成一个部分一个部分的构建,比如一台电脑由CUP、内存、主板、屏幕等,这些配件本身就是一个复杂的制造过程,一个一个构建后然后才组装成一台新的电脑。 步骤 1、定义要构建的对象——电脑 2、定义一个抽象的构建器,内部的每个抽象方法构建一个配件并返回构建器本身,目的是为了链 ......
模式 设计模式 Builder

线程池

线程池就是管理一系列线程的资源池,其提供了一种限制和管理线程资源的方式。每个线程池还维护一些基本统计信息,例如已完成任务的数量。 池化技术的思想主要是为了减少每次获取资源的消耗,提高对资源的利用率。 线程池的好处:(降低线程创建和销毁的时间成本,提高线程可管理性) 降低资源消耗。通过重复利用已创建的 ......
线程

python多线程接口请求

import threading import requests requests.packages.urllib3.disable_warnings() urls_list = ["http://127.0.0.1:5000" for _ in range(1, 101)] response_ok ......
线程 接口 python

多线程 —— 线程的六种状态

一、线程的六种状态,如下图所示 二、六种状态介绍: 线程状态 具体含义 NEW 一个尚未启动的线程的状态。也称之为初始状态、开始状态。线程刚被创建,但是并未启动。还没调用start方法。MyThread t = new MyThread()只有线程对象,没有线程特征。 RUNNABLE 当我们调用线 ......
线程 状态

redis springboot

【springboot进阶】SpringBoot整合RedisTemplate配置多个redis库 RedisTemplate及4种序列化方式 springboot笔记 ......
springboot redis

确保Redis缓存一致性的N种方法

确保Redis缓存一致性的N种方法 1、及时失效法 当程序需要update该数据时,先更新数据库数据数据,若数据库update成功,则重新为Redis该key值设置一个极短的过期时间,当过期之后,下一个请求自然会去数据库获取最新版本的数据 2、互斥锁 当程序需要update数据时,更新完数据库,再去 ......
一致性 缓存 方法 Redis

redis 哈希,集合,有序集合,持久化方案,主从复制,高可用,集群搭建扩容缩容

哈希类型操作方法 hget key field # 获取hash key对应的field的value值 hset key field # 设置 hdel key field # 删除 测试 hset user:1001 age 23 hget user:1001 age hset user:1001 ......
主从 集群 方案 redis

进程、线程、协程

(一)进程 1.概念 进程-操作系统提供的抽象概念,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。程序是指令、数据及其组织形式的描述,进程是程序的实体。程序本身是没有生命周期的,它只是存在磁盘上的一些指令,程序一旦运行就是进程。 首先还是说下「程序」的概念,程序是一些保存在磁盘上的指令的 ......
线程 进程

Redis主从切换

1、停止主Redis(模仿主机挂掉) /usr/local/redis6/bin/redis-cli -a "dianshang" -h 192.168.x.x -p 7020 shutdown 2、将从Redis 设成主Redis /usr/local/redis6/bin/redis-cli - ......
主从 Redis

JAVA 按行处理大文件的方法 [多线程]

前一篇文章讲述了单线程处理大文件的方法,虽然解决了内存装不下的问题但是依然存在效率不高的问题。这篇文章介绍的是Java中多线程处理大文件的一种方法,如有疑问欢迎各位大神垂询,我们相互帮助、共同学习。 如果想看单线程处理大文件的那边文章请移步:Java 按行处理大文件的方法 [单线程] 一、问题的提出 ......
线程 文件 方法 JAVA