摘要: 场景: 如果你不断的写入数据,当数据写入的量超过了redis能承受的范围之后,该怎么办?redis是会在数据达到一定程度之后,超过了一个最大的限度之后,就会将数据进行一定的清理,从内存中清理掉一些数据,只有清理掉一些数据之后,才能将新的数据写入内存中1、LRU算法概述 redis默认情况下就是使用L 阅读全文
posted @ 2018-09-07 10:58 大虾张三丰 阅读(1360) 评论(1) 推荐(0) 编辑
摘要: 1.redis持久化的意义 redis故障恢复 在实际的生产环境中,很可能会遇到redis突然挂掉的情况,比如redis的进程死掉了、电缆被施工队挖了(支付宝例子)等等,总之一定会遇到各种奇葩的现象导致redis死掉,这时候放在redis内存中的数据就会全部丢失,这些数据可能服务很多的系统或者服务, 阅读全文
posted @ 2018-09-07 10:56 大虾张三丰 阅读(1252) 评论(0) 推荐(0) 编辑
摘要: 缓存冷启动: 1.新系统第一次上线,此时在缓存里可能是没有数据的 2.系统在线上稳定运行着,但是突然间重要的redis缓存全盘崩溃了,而且不幸的是,数据全都无法找回来 系统第一次上线启动,系统在redis故障的情况下重新启动,对于一个流量很大的系统来说,在高并发的场景下,大量的请求很容易击穿数据库。 阅读全文
posted @ 2018-09-07 10:51 大虾张三丰 阅读(725) 评论(0) 推荐(1) 编辑
摘要: 线程池中各个参数的含义 corePoolSize: 核心池的大小,这个参数跟线程池的实现原理有非常大的关系。**在创建了线程池后,默认情况下,线程池中并没有任何线程,而是等待有任务到来才创建线程去执行任务**,除非调用了prestartAllCoreThreads()或者prestartCoreTh 阅读全文
posted @ 2018-09-06 17:04 大虾张三丰 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 1.等待多线程完成的CountDownLatch CountDownLatch是一个同步工具类,用来协调多个线程之间的同步,起到线程之间的通信(而不是用作互斥的作用)。CountDownLatch能够使一个线程在等待另外一些线程完成各自工作之后,再继续执行。使用一个计数器进行实现。计数器初始值为线程 阅读全文
posted @ 2018-09-06 16:18 大虾张三丰 阅读(158) 评论(0) 推荐(0) 编辑