线程redis

win32api之线程知识梳理(四)

什么是线程 线程是附属在进程上的执行实体, 是代码的执行流程 一个进程可以包含多个线程, 但一个进程至少要包含一个线程 进程与线程的关系 可以将进程比作一个房子,它是一个容器,可以包含很多个线程(居住者)同时工作。线程可以在进程中进行交互和共享资源(房间、厨房等)。与居住在房子里的人一样,线程需要执 ......
线程 知识 win api 32

.NET Core 多线程的用法,以及用例

1.使用 Thread 类 Thread 类是 .NET 中最基本的多线程操作方式之一,可以使用它创建并启动新线程。以下是一个简单的例子,创建一个新的线程并运行: using System; using System.Threading; class Program { static void Ma ......
线程 Core NET

Redis的五种数据类型及其应用场景

1、数据类型 String(字符串,整数,浮点数):做简单的键值对缓存 List(列表):储存一些列表类型的数据结构 Hash(哈希):包含键值对的无序散列表,结构化的数据 Set(无序集合):交集,并集,差集的操作 Zset(有序集合)(Sorted sets):去重同时也可以排序 先通过一张图了 ......
场景 类型 数据 Redis

redis分布式锁

redis分布式锁 ......
分布式 redis

Java多线程开发CompletableFuture的应用

​做Java编程,难免会遇到多线程的开发,但是JDK8这个CompletableFuture类很多开发者目前还没听说过,但是这个类实在是太好用了,了解它的一些用法后相信你会对它爱不释手(呸渣男,咋对谁都爱不释手呢),好了我先简单举个列子,告诉你用它有多好。Single Dog拿一个Appointme ......
CompletableFuture 线程 Java

实现常驻任务除了避免昙花线程,还需要避免重返线程池

前面我们使用简单的例子演示了 Task 和 Thread 的两种制造昙花线程的方式。那么除了避免昙花线程,在实现常驻任务的时候,还需要避免重返线程池。本文将介绍如何避免重返线程池。 ......
线程 昙花 任务

Redis - 基础数据类型

学会使用 Redis 的一个重要内容就是 Redis 的数据类型,对于开发人员而言,学会 Redis 基础数据类型的使用即可应用到程序开发当中。 ......
类型 基础 数据 Redis

Redis中 HyperLogLog数据类型使用总结

转载请注明出处: 目录 1. HyperLogLog 的原理 2.使用步骤 3.实现请求ip去重的浏览量使用示例 4.Jedis客户端使用 5.Redission使用依赖 6.HyperLogLog 提供了哪些特性和方法 7.使用场景总结 1. HyperLogLog 的原理 Redis Hyper ......
HyperLogLog 类型 数据 Redis

Redis使用ZSET实现消息队列使用总结一

转载请注明出处: 目录 1.zset为什么可以做消息队列 2.zset实现消息队列的步骤 3.使用jedis实现消息队列示例 4.+inf与-inf 5.redis使用list与zset做消息队列有什么区别 1.zset为什么可以做消息队列 zset做消息队列的特性有: 有序性:zset中所有元素都 ......
队列 消息 Redis ZSET

Redis使用ZSET实现消息队列使用总结二

转载请注明出处: 目录 1.redis 用zset做消息队列如何处理消息积压 2.redis分片并使用zset做消息队列 3. redis如何分片 4. redis使用java发送消息到zset队列并对消息进行分片处理 5. redis使用zset做消息队列时,有多个消费者同时消费消息怎么处理 6. ......
队列 消息 Redis ZSET

【Redis场景5】集群秒杀优化-分布式锁

集群环境下的秒杀问题 前序 【Redis场景1】用户登录注册 【Redis场景2】缓存更新策略(双写一致) 【Redis场景3】缓存穿透、击穿问题 【Redis场景拓展】秒杀问题-全局唯一ID生成策略 【Redis场景4】单机环境下秒杀问题 在单机环境下的并发问题,我们可以使用相关锁来解决;但是在集 ......
分布式 集群 场景 Redis

Java线程池和Spring异步处理高级篇

开发过程中我们会遇到很多使用线程池的场景,例如异步短信通知,异步发邮件,异步记录操作日志,异步处理批量Excel解析。这些异步处理的场景我们都可以把它放在线程池中去完成,当然还有很多场景也都可以使用线程池,掌握线程池后开发中自己灵活应用。 例如在生成订单的时候给用户发送短信,生成订单的结果不应该被发 ......
线程 Spring Java

ASP.NET Core使用filter和redis实现接口防重

背景 日常开发中,经常需要对一些响应不是很快的关键业务接口增加防重功能,即短时间内收到的多个相同的请求,只处理一个,其余不处理,避免产生脏数据。这和幂等性(idempotency)稍微有点区别,幂等性要求的是对重复请求有相同的效果和结果,通常需要在接口内部执行业务操作前检查状态;而防重可以认为是一个 ......
接口 filter redis Core ASP

【Azure Redis 缓存】示例使用 redisson-spring-boot-starter 连接/使用 Azure Redis 服务

问题描述 在 Spring Boot 项目中,使用 Redisson 连接 Azure Redis 服务,如下是详细的操作步骤(项目源代码文末可下载) 示例步骤 第一步: 在 Spring Boot 的项目中,添加 redisson-spring-boot-starter 依赖 在项目的pom.xm ......

Java多种方法实现等待所有子线程完成再继续执行

简介 在现实世界中,我们常常需要等待其它任务完成,才能继续执行下一步。Java实现等待子线程完成再继续执行的方式很多。我们来一一查看一下。 Thread的join方法 该方法是Thread提供的方法,调用join()时,会阻塞主线程,等该Thread完成才会继续执行,代码如下: private st ......
线程 多种 方法 Java

Redis缓存数据库-快速入门

Redis数据库快速入门 一、Redis数据库 介绍: Redis:非关系型缓存数据库 nosql:非关系型数据库 没有表,没有表与表之间的关系,更不存在外键 存储数据的形式为key:values的形式 c语言写的服务(监听端口),用来存储数据的,数据是存储在内存中,取值,放值速度非常快, 10w ......
缓存 数据库 数据 Redis

redis(14)主从复制

Redis主从复制 主机数据更新后根据配置和策略, 自动同步到备机的 master/slaver 机制,Master 以写为主,Slave 以读为主,主从复制节点间数据是全量的。 作用: 读写分离,性能扩展 容灾快速恢复 上图将主服务器复制了3份从服务器,主服务器进行写操作,从服务器进行读操作,读写 ......
主从 redis

redis(13)持久化操作-AOF

AOF(Append Only File) 以日志的形式来记录每个写操作(增量保存),将 Redis 执行过的所有写指令记录下来 (读操作不记录), 只许追加文件但不可以改写文件,redis 启动之初会读取该文件重新构建数据,换言之,redis 重启的话就根据日志文件的内容将写指令从前到后执行一次以 ......
redis AOF

Java+Redis 通过Lua 完成库存扣减,创建消息队列,异步处理消息--实战

需要完成功能 借助redis Stream 数据结构实现消息队列,异步完成订单创建,其中涉及到了缓存(击穿,穿透,雪崩),锁(Redisson),并发处理,异步处理,Lua脚本 IDE:IDEA 2022 1、读取库存数据 【Lua】 2、判断库存 【Lua】 3、扣减库存 【Lua】 4、创建队列 ......
消息 队列 实战 库存 Redis

我又和redis超时杠上了

我又和redis超时杠上了 服务监控系列文章 服务监控系列视频 背景 经过上次redis超时排查,并联系云服务商解决之后,redis超时的现象好了一阵子,但是最近又有超时现象报出,但与上次不同的是,这次超时的现象发生在业务高峰期,在简单看过服务器的各项指标以后,发现只有cpu的使用率在高峰期略高,我 ......
redis

一次排查某某云上的redis读超时经历

一次排查某某云上的redis读超时经历 服务监控系列文章 服务监控系列视频 问题背景 最近一两天线上老是偶现的redis读超时报警,我嗅到了一丝不正常的味道,但由于业务繁忙,只是暂时将超时时间从200ms调制500ms,超时情况减少了,不过还是有发生。趁业务空闲期,于是开始着手排查。 排查思路 查阅 ......
redis

还不知道如何在java中终止一个线程?快来,一文给你揭秘

简介 工作中我们经常会用到线程,一般情况下我们让线程执行就完事了,那么你们有没有想过如何去终止一个正在运行的线程呢? 今天带大家一起来看看。 Thread.stop被禁用之谜 问道怎么终止一个线程,可能大多数人都知道可以调用Thread.stop方法。 但是这个方法从jdk1.2之后就不推荐使用了, ......
线程 java

在Linux上查看活跃线程数与连接数

原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明。 简介 现如今,有两种常见的软件资源几乎成了Java后端程序的标配,即线程池与连接池,但这些池化资源非常的重要,一旦不够用了,就会导致程序阻塞、性能低下,所以有时我们需要看看它们的使用情况,以判断这里是否是瓶颈。 ......
线程 Linux

Redis的介绍安装以及启动与使用、数据类型、Redis管道、Django使用Redis

一、介绍Redis 1. 详细介绍 redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push ......
Redis 管道 类型 数据 Django

全局视角看技术-Java多线程演进史

本篇语言通俗易懂,是一篇具有大纲性质的关于多线程的梳理,作者从历史演进的角度讲了多线程相关知识体系,让你知其然知其所以然。 ......
演进史 线程 全局 视角 技术

【C#异步】异步多线程的本质,上下文流转和同步

引言 net同僚对于async和await的话题真的是经久不衰,这段时间又看到了关于这方面的讨论,最终也没有得出什么结论,其实要弄懂这个东西,并没有那么复杂,简单的从本质上来讲,就是一句话,async 和await异步的本质就是状态机+线程环境上下文的流转,由状态机向前推进执行,上下文进行环境切换, ......
上下文 线程 本质 上下

redis分布式锁的实现

一.正常加锁 当两个用户同时注册一个用户名时,为保证用户名不能重复,因此对其注册的用户名加锁。 具体步骤: 获得用户注册的用户名,进行判断,如果为空则对其进行加锁,保存到数据库,释放锁资源。 二.线程出现阻塞 当A线程加锁后出现阻塞时,导致数据还没有存到数据库,锁的时间便会失效。 B线程便会执行,对 ......
分布式 redis

用Redis实现延迟队列,我研究了两种方案,发现并不简单

大家好,我是三友~~ 背景 前段时间有个小项目需要使用延迟任务,谈到延迟任务,我脑子第一时间一闪而过的就是使用消息队列来做,比如RabbitMQ的死信队列又或者RocketMQ的延迟队列,但是奈何这是一个小项目,并没有引入MQ,我也不太想因为一个延迟任务就引入MQ,增加系统复杂度,所以这个方案直接就 ......
队列 方案 Redis

13.一文彻底了解线程池

大家好,我是王有志。 线程池是Java面试中必问的八股文,涉及到非常多的问题,今天我们就通过一篇文章,来彻底搞懂Java面试中关于线程池的问题。 ......
线程 13

(原创)多线程并发:AQS源码分析(1)——独占锁的实现原理

谈到java中的并发,我们就避不开线程之间的同步和协作问题,谈到线程同步和协作我们就不能不谈谈jdk中提供的AbstractQueuedSynchronizer(翻译过来就是抽象的队列同步器)机制; (一)、AQS中的state和Node含义: AQS中提供了一个int volatile state ......
线程 源码 原理 AQS