摘要:
线程池创建的核心: 三大方法: 1.Executors.newSingleThreadExecutor(); 2.Executors.newFixedThreadPool(5); 3.Executors.newCachedThreadPool(); 七大参数:(自定义创建线程池) 1.核心线程数 2 阅读全文
摘要:
参数说明redis.conf 配置项说明如下:1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no2. 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定 阅读全文
摘要:
一、TIMESTAMP的变体 TIMESTAMP时间戳在创建的时候可以有多重不同的特性,如: 1.在创建新记录和修改现有记录的时候都对这个数据列刷新: TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 2.在创建新记录的时 阅读全文
摘要:
在分布式环境下,是多线程操作,当我们需要对某个变量进行访问时,为了保证数据的CAP原则,我们需要用到分布式锁的概念。 分布式锁应该具备哪些条件 1、在分布式系统环境下,一个方法在同一时间只能被一个机器的一个线程执行;2、高可用的获取锁与释放锁;3、高性能的获取锁与释放锁;4、具备可重入特性;5、具备 阅读全文
摘要:
缓存穿透 一般的缓存系统,都是按照 key 去缓存查询,如果不存在对应的 value,就应该去后端系统查找(比如 DB)。一些恶意的请求会故意查询不存在的 key,请求量很大,就会对后端系统造成很大的压力。这就叫 做缓存穿透。 如何避免? 1:对查询结果为空的情况也进行缓存,缓存时间设置短一点,或者 阅读全文
摘要:
Spring Bean 的生命周期简单易懂。在一个 bean 实例被初始化时,需要执行一系列的初 始化操作以达到可用的状态。同样的,当一个 bean 不在被调用时需要进行相关的析构操 作,并从 bean 容器中移除。 Spring bean factory 负责管理在 spring 容器中被创建的 阅读全文
摘要:
前言: 随着互联网的不断发展(3v+3高),电商网站,社交平台,金融平台等服务领域越来越大,存储的数据也是越来越多,对数据的要求更是越来越高。 传统的垂直框架+RDBMS已经无法满足服务需求。这是各种大牛开始想到,读写分离,主从复制,分库分表。对数据库的压力各种减轻。这 时候就有了我们的Nosql。 阅读全文
摘要:
前言: 如果我们想要获取某个电商网站的某个商品,输入http://localhost:9999/products/123,就可以看到id为123的商品页面,但这个结果是HTML页面,它同时混合包含了Product的数据和Product的展示两个部分。对于用户来说,阅读起来没有问题,但是,如果机器读取 阅读全文
摘要:
synchronized 原语和 ReentrantLock 在一般情况下没有什么区别,但是在非 常复杂的同步应用中,请考虑使用 ReentrantLock,特别是遇到下面 2 种需求的 时候。 1.某个线程在等待一个锁的控制权的这段时间需要中断 2.需要分开处理一些 wait-notify,Ree 阅读全文
摘要:
SpringCloud实现负载均衡有两种方式: RestTemplate+Ribbon Feign Ribbon是基于Netfiix Ribbon实现的一套客户端(Client)负载均衡的工具。 ribbon的核心组件是IRule。 自身携带7种算法: RoundRobinRule 轮询规则 Ran 阅读全文