线程 架构 原因redis

读Java性能权威指南(第2版)笔记28_线程和同步性能中

1. 同步 1.1. 代码块对一组变量的访问看上去是串行的:每次只有一个线程可以访问内存 1.1.1. 由synchronized关键字保护的代码块 1.1.2. 用java.util.concurrent.lock.Lock类的实例保护的代码 1.1.3. java.util.concurrent ......
同步性 线程 性能 权威 笔记

[软件设计] 软件系统总体结构设计 | 软件架构概述 [转载]

1 概述 对于程序员而言,开始关注架构就是重大进步。就已经从单纯写代码的层次里跳了出来,至少从“增删改查”中跳了出来,能以更宏观的视角去思考代码、思考软件工程! 这是一个新的起点,加油! 1.1 架构的定义 架构是一个来源于传统领域的古老概念,用来指对房屋、桥梁等实体物理结构的设计与研究。 后来,架 ......

redis

1.redis的应用场景 1.5大value类型: 2.基本上就是缓存。 ###2.redis是单线程还是多线程? 1.无论什么版本工作线程就是一个。 2.6.x版本出现了IO多线程。 3.单线程,满足redis的串行原子性,只不过IO多线程后,把输入和输出放到更多的线程里面去并行,好处:1.执行时 ......
redis

Redis的基本知识

##基础 端口号6379 redis共有16个数据库,默认使用的是第一个。 切换数据库命令:select 2 数据库的大小DBSIZE 设定值:set key value 取值:get key value 查看数据库所有的 key: keys* 清空当前数据库:flushdb 清楚所有数据库:FLU ......
基本知识 知识 Redis

线程池的创建方式

1.什么是线程池 随着多线程的大量使用,伴随着大量的线程创建与销毁等这些开销,为了减少这些开销,进行管理线程,线程池就应运而生了。因此线程池是一种基于池化思想管理和使用线程的机制,主要是为了方便管理线程,减少线程的频繁创建与销毁而浪费的资源。 2.线程池的使用 2.1 线程池的创建 线程池的创建方式 ......
线程 方式

Java多线程

一、多线程简介 Java多线程是指在一个程序中同时执行多个线程(线程就是一条执行路径)。Java中的多线程可以提高程序的运行效率和并发性,通常用于执行一些耗时的操作或需要同时执行多个任务的场景。在Java中,多线程主要通过Thread类和Runnable接口来实现。 Java多线程的常用操作包括以下 ......
线程 Java

你能说一下Redis的常见应用场景吗?

Redis是一个key-value型的数据库(相比较之下,MySQL是关联数据库),所有数据在使用时都存放在内存中。 这包含了两层含义: 单台Redis能存放多少数据,取决于其内存的大小(假设所有内存都给Redis用)。如果需要存放更多数据,可以增加内存或做集群。 Redis支持将数据持久化到磁盘中 ......
场景 常见 Redis

Java 线程池

相信在实际工作中,大家对于线程池的使用并不陌生,例如以下几个应用场景: 支付成功之后,异步发送短信通知用户; 公司的OA系统中,提交某些申请之后,异步发送给各个部门负责人进行审批; 请求某个接口时,需要做些日志上报之类的记录。 线程池的使用 下边是一个非常简单的线程池使用案例: public cla ......
线程 Java

Java/Kotlin 使用Redis模拟发送验证码

原文地址: Java/Kotlin 使用Redis模拟发送邮件验证码 - Stars-One的杂货小窝 Java中常用语连接Redis的库有lettuce和jredis,一般是推荐lettuce,其具有异步性,下面两种都简单来使用如何实现功能 jredis 1.引入依赖 <dependency> < ......
Kotlin Redis Java

MongoDB 架构

优质博文:IT-BLOG-CN 一、存储数据格式 MongoDB作为主流的NoSQL数据库之一,使用面向文档的数据存储方式,将数据以JSON和BSON的方式存储在磁盘中。BSON Binary JSON是一种基于JSON的二级制序列化格式,用于MongoDB存储文档并进行远程过程调用,作为网络数据交 ......
架构 MongoDB

Winform/Csharp中使用StackExchange.Redis连接Redis存取数据并序列化对象/反序列化(支持redis key 模糊搜索)

场景 在winform程序中,需要连接Redis并根据Key进行模糊搜索,对value值进行反序列化为 对象之后进行数据处理和显示。 ServiceStack.redis 这里不使用servicestack.redis,因为这个已经商业化了,会出现每小时6000条数据的限制。 StackExchan ......
序列 Redis StackExchange 对象 Winform

Half-UNet:用于医学图像分割的简化U-Net架构

Half-UNet简化了编码器和解码器,还使用了Ghost模块(GhostNet)。并重新设计的体系结构,把通道数进行统一。 论文动机 编码器的不同类型的架构图,编码器(A-C)的结构分别来源于U-Net的编码器、解码器和全的Unet结构。 下面是上图的一些结果指标 将U-Net 的编码器和解码器都 ......
架构 Half-UNet 图像 医学 U-Net

全面了解 Redis 高级特性,实现高性能、高可靠的数据存储和处理

Redis 是一种高性能、高可靠的内存数据存储和处理系统,它支持多种数据结构和协议,可以用于各种不同的应用场景。本文将介绍 Redis 的高级特性,包括持久化、事务、Lua 脚本等方面,以及如何使用这些特性实现高性能、高可靠的数据存储和处理。 高性能、高可用、高可扩展性的原理 基于内存的数据结构:R ......
高性能 特性 数据 Redis

读Java性能权威指南(第2版)笔记27_线程和同步性能上

1. 线程和硬件 1.1. 给CPU增加超线程并不能使应用程序性能翻倍 2. 线程池 2.1. 任务被提交到一个队列(可能有不止一个队列),然后一定数量的线程会从队列中取出任务并执行它们 2.2. 线程池的大小对获取最佳性能至关重要 2.2.1. 在某些情况下,过大的线程池会对性能造成损害 2.3. ......
同步性 线程 性能 权威 笔记

谈谈架构设计

在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解。在不同的书籍上, 不同的作者, 对于架构的定义也不统一, 角度不同, 定义不同。此君说的架构和彼君理解的架构未必是一回事。因此我们在讨论架构之前,我们先讨论架构的概念定义, 因为概念是人认识这个世界的基础和用来沟通的手段,如果对架构概... ......
架构

redis rdb-bigkeys安装和使用

先安装go 下载地址:wget https://dl.google.com/go/go1.12.6.linux-amd64.tar.gz 解压:tar -zvxf go1.12.6.linux-amd64.tar.gz 配置环境变量: vi /etc/profile 加入一下内容 #GO expor ......
rdb-bigkeys bigkeys redis rdb

不要依赖业务逻辑和系统架构处理一些判断

今天上线前就遇到一个NullPointException,原本依赖于前端处理,如果字段没值就不会传递改key进入json中, 但是上线的数据铺垫是直接解析的excel和api调用的,跳过了前端的一些逻辑处理,导致显式传递null,dto的默认值0没有赋予,出现了NulllPointException ......
架构 逻辑 业务 系统

Redis中的BigKey问题:排查与解决思路

本文已收录至Github,推荐阅读 👉 Java随想录 微信公众号:Java随想录 摘要 Redis是一款性能强劲的内存数据库,但是在使用过程中,我们可能会遇到Big Key问题,这个问题就是Redis中某个key的value过大,所以Big Key问题本质是Big Value问题,导致Redis ......
思路 BigKey 问题 Redis

在docker上安装MySQL和Redis

1. 通过docker命令下载mysql5.7镜像 mysql5.7前期准备 2. 通过docker命令下载mysql8.0镜像 mysql8.0前期准备 3. 通过docker命令下载redis镜像 redis前期准备 本文永久更新地址: 1. 通过docker命令下载mysql5.7镜像 mys ......
docker MySQL Redis

多线程

一、线程 1、概念 线程 在一个进程的内部,要同时干多件事,就需要同时运行多个“子任务”,我们把进程内的这些“子任务”叫做线程 是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同 ......
线程

Centos7安装redis

redis是一个在内存中存储数据的工具,可以用作缓存,数据库,和消息代理。 安装 centos7中安装redis,步骤如下: 官网下载redis压缩包,地址https://redis.io/,下载后的压缩包为:redis-6.2.5.tar.gz。(安装包的版本可以根据自己需求选择,我下载的是官网的 ......
Centos7 Centos redis

python 进程、线程、协程之间的区别

看文字实在是太枯燥了,我整点儿花里胡哨的的颜色,希望看起来能轻松一点。 1. 概念(绕口) 进程: 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进程资源分配和调度的一个独立单位。每个进程都有自己的独立空间,不同进程通过进程间通信来通信。由于进程比较重量,占据独立内存,所以 ......
线程 进程 之间 python

3 - 线程 - Windows 10 - Python - 守护线程 _ 后台线程 _ 精灵线程

@(目录) 测试环境: 操作系统: Window 10 工具:Pycharm Python: 3.7 一、守护线程 / 后台线程 / 精灵线程 首先讲解守护线程。 有一种线程,它是在后台运行的,它的任务是为其他线程提供服务,这种线程被称为“后台线程(Daemon Thread)”,又称为“守护线程” ......
线程 后台 精灵 Windows Python

4 - 线程 - Windows 10 - CPython - 理解伪多线程中 join() 线程连接点(主线程堵塞) 和 sleep() 线程睡眠 的作用

@(目录) 测试环境: 操作系统: Window 10 工具:Pycharm Python: 3.7 一、join() 连接点的服务对象是子线程 join n. 连接处,接合点 | |主线程 |___ join() 连接点 | |子线程 | | | | | | 主线程创建子线程对象,而子线程对象使用 ......
线程 连接点 作用 Windows CPython

5 - 线程 - Windows 10 - Python 的 5 种线程锁 - 控制线程切换

@(目录) 测试环境: 操作系统: Window 10 工具:Pycharm Python: 3.7 一、线程安全 一个程序运行,指的是运行一个可执行文件,这里我们是介绍python,就指py脚本文件吧。 在运行py文件的过程中,系统为了执行这个py脚本文件,会为这个py脚本文件开一个进程,也就是赋 ......
线程 Windows Python 10

6 - Windows 10 - CPython - 获取 I_O 密集型 多线程的返回值 - 线程池、简单多线程 - 爬虫

@(目录) 测试环境: 操作系统: Window 10 工具:Pycharm Python: 3.7 一、多线程的 ......
线程 爬虫 密集型 Windows CPython

2 - 线程 - Windows 10 - CPython 解释器 - 多线程并行(实际并发)

@(目录) 测试环境: 操作系统: Window 10 工具:Pycharm Python: 3.7 一、线程和进程介绍 进程基本概念 进程(Process),是计算机中已运行程序的动态实体,曾经是分时系统的基本运作单位。 在面向进程设计的系统(如早期的Unix、Linux2.4及更早的版本)中,进 ......
线程 解释器 实际 Windows CPython

2 -进程-Windows 10 -Python - multiprocessing 两种方法实现多进程 - 进程池 _ 简单Process _ -守护进程堵塞join 与 sleep()线程睡眠堵塞

@(目录) 测试环境: 操作系统: Window 10 工具:Pycharm Python: 3.7 一、进程池 其实在使用多进程的时候,感觉使用pool是最方便的,在多线程中是不存在pool的。 在使用pool的时候,可以限制每次的进程数,也就是剩余的进程是在排队,而只有在设定的数量的进程在运行, ......

1 - 线程 - Windows 10 - CPython 多线程总纲 - 杂货版

@(目录) 测试环境: 操作系统: Window 10 工具:Pycharm Python: 3.7 这里就不讲太多复杂的逻辑,直接就是总结,后面就解析,深挖线程。 一、Cpython - 进程与线程的关系 —— 进程并行/线程并发 进程供给线程资源,而线程帮进程做事; 进程是线程的容器,线程是执行 ......
线程 总纲 杂货 Windows CPython

GO实现Redis:GO实现内存数据库(3)

实现Redis的database层(核心层:处理命令并返回) https://github.com/csgopher/go-redis datastruct/dict/dict.go type Consumer func(key string, val interface{}) bool type ......
内存 数据库 数据 Redis