线程 架构 原因redis
Linux 动态库 undefined symbol 原因定位与解决方法
在使用动态库开发部署时,遇到最多的问题可能就是 undefined symbol 了,导致这个出现这个问题的原因有多种多样,快速找到原因,采用对应的方法解决是本文写作的目的。 可能的原因 依赖库未找到这是最常见的原因,一般是没有指定查找目录,或者没有安装到系统查找目录里 链接的依赖库不一致编译的时候 ......
多线程任务怎么选 Thread,ThreadPoll,Task
提问 多线程任务怎么选 Thread,ThreadPoll,Task 回答 Task 原因 Thread:创建销毁代价昂贵 ThreadPoll:管理线程资源 Task 基于线程池 ......
hyperf 框架 redis 安装和使用
安装Redis 的框架扩张 composer require hyperf/redis 配置redis的参数 -> .env文件中 REDIS_HOST=127.0.0.1 REDIS_AUTH=Fl REDIS_PORT=6379 REDIS_DB=0 在模型文件中 <?php declare(s ......
几种常见的架构模式
本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~ Github地址 如果访问不了Github,可以访 ......
Java SpringBoot Test 单元测试中包括多线程时,没跑完就结束了
如何阻止 Java SpringBoot Test 单元测试中包括多线程时,没跑完就结束了 使用 CountDownLatch CountDownLatch、CyclicBarrier 使用区别 多线程 ThreadPoolTaskExecutor 应用 Java BasePooledObjectF ......
决战圣地玛丽乔亚Day48----Redis常见问题处理
热点数据倾斜是什么?如何解决和处理? 数据量倾斜和访问热点数据造成倾斜: 数据量倾斜:1.bigkey 2.hashtag不规范 3. 槽位分配不均 数据访问倾斜:1.拆key 2.扩容 3.本地缓存 如果是bigkey导致的倾斜: 在业务层生成数据时,要尽量避免把过多的数据保存在同一个键值对中。如 ......
Redis哨兵和cluster集群
1、什么是哨兵模式哨兵模式:可以自动切换解决单点故障,但是不能负载均衡,存储能力受限制。 哨兵核心功能:在主从复制的基础上,实现了主节点的自动故障转移 2、哨兵的作用监控:监控主节点和从节点是否在正常运行 故障自动转移:当主节点不能正常工作时,哨兵会开始自动故障转移操作,它会将失效主节点的其中一个从 ......
决战圣地玛丽乔亚Day47----Redis集群
4.Redis Cluster 集群模式 如果单机吞吐量过大,我们可以横向和纵向进行扩展,横向就是加节点(scale out),纵向就是加配置(scale up)。 如果加配置,治标不治本,单机局限性和持久化问题无法解决(如轮式RDB快照还是AOF指令) 横向扩展更容易扩展,可以解决很多问题,包括单 ......
Quarkus系列——集成Redis(四)
前言 reids是我们在进行后端开发的时候常用到的一个中间件,常用于实现分布式缓存,分布式锁。我们在SpringBoot中可以很方便的通过stater来集成redis。在Quarkus中官方为我们提供了redis的client虽然比起Spring用起来略显简陋但是稍微改造下也能满足我们日常需要。 准 ......
线程池之FutureTask、ThreadPoolExecutor源码分析
前言 在我们日常工作中,我们经常会用到多线程的来处理一些异步任务,提高系统吞吐量,但是线程毕竟是一种昂贵的系统的资源,我们不应该频繁的去申请销毁。在java的project loom还未正式release的时候,我们常用池化的方式来使用线程。所以了解线程池的设计思想能够有助于我们更好的使用它,所以本 ......
线程间数据传递之ThreadLocal、InheritableThreadLocal、TransmittableThreadLocal
前言 在JAVA中线程之间传输数据的方式有多种,而本文旨在探讨ThreadLocal及其衍生类的使用场景。 使用场景 业务系统的参数传递:在我们的业务系统中可能会用到许多公共参数,可能是用户的token信息,在我们链路中可能某一个方法需要用到它,那么我们又不想一层层的传递它。 分布式系统要打通各个系 ......
django前后端分离本地缓存,后续需要配置在redis
如何使用: from django.core.cache import cache cache.set('key', value可以是任意数据类型) cache.get('key') 应用场景: 第一次查询所有图书,通过多表联查序列化后的数据,直接缓存起来 后续,直接进入缓存查,如果有直接返回数据, ......
5G网络架构与组网部署-2
1.3 5G组网部署 1.3.1 SA组网与NSA组网 5G标准分为非独立组网(NSA)与独立组网(SA)两种。 独立组网(SA) 两种方案,其中Option 2为最终目标。gNB:5G基站,ng-eNB:4G增强型基站。 非独立组网(NSA) 三种方案:Option 3、Option 7、Opti ......
多线程3
Lock锁 ReentrantLock lock=new ReentrantLock(); class TestLock2 implements Runnable{ int ticketName=10; //定义lock锁 private final ReentrantLock lock=new R ......
线程池
线程池 ExecutorService 和Executors public class TestPool { public static void main(String[] args) { //创建服务 //newFixedThreadPool 参数为:线程池大小 ExecutorService ......
多线程1
Thread //继承Thread类,重写run方法,调用start开启线程//注意:线程开启不一定立即执行,由CPU调度执行public class Demo01 extends Thread{// public void run(){ for (int i = 0; i < 20; i++) { ......
多线程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 ......
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 ......
分布式系统——基于Redis的分布式锁的实现
分布式锁的介绍 分布式锁是分布式系统中用于协调多个进程或线程之间并发访问共享资源的一种机制。在分布式系统中,由于各个节点之间的通信存在延迟、故障等问题,可能会导致数据的不一致性。为了保证数据的一致性,需要使用分布式锁来协调各个节点的并发访问。 在分布式系统中,多个节点同时访问共享资源可能会导致以下问 ......
Java多线程
1.可见性、原子性和有序性问题 多线程有三大特性,分别是可见性、原子性和有序性。 1.1可见性 在单核时代,所有的线程都是在一颗CPU上执行,CPU缓存与内存的数据一致性容易解决。因为所有线程都是操作同一个CPU的缓存,一个线程对缓存的写,对另外一个线程来说一定是可见的。一个线程对共享变量的修改,另 ......
【深入浅出 Yarn 架构与实现】6-2 NodeManager 状态机管理
NodeManager(NM)中的状态机分为三类:Application、Container 和 LocalizedResource,它们均直接或者间接参与维护一个应用程序的生命周期。 ......
Redis 持久化之RDB 和 AOF
Redis 有两种持久化方案,RDB (Redis DataBase)和 AOF (Append Only File)。如果你想快速了解和使用RDB和AOF,可以直接跳到文章底部看总结。本章节通过配置文件,触发快照的方式,恢复数据的操作,命令操作演示,优缺点来学习 Redis 的重点知识持久化。 R ......
安装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 ......
php redis 悲观锁
悲观锁(Pessimistic Lock), 顾名思义,就是每次处理redis数据都以最悲观的场景展开,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都 ......
深入线程同步
刚接触线程的时候懵懵懂懂,懵懵逼逼,只是依稀记得线程需要同步,至于这么做的原因好像是避免线程由于对数据的竞争导致不可预知的结果。随着头发日渐稀疏,对线程同步的理解也不断加深了。 什么是线程同步 线程同步是指多个线程之间的协调同步,按照一定的次序进行执行。Linux中的线程同步机制主要有互斥锁、自旋锁 ......
php架构之路,phper进阶,学习路线
鉴于最近跟小伙伴聊了很多PHP架构发展方向的问题,相关技术整理了一下,也顺便规划了一下自己下年。【我的学习路线】 一.常用的设计模式以及使用场景 以下是我用到过的 工厂,单例,策略,注册,适配,观察者,原型,装饰器,facade,loc,pipeline 二.阅读一个框架源码 例如:laravel ......