redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存、亦可持久化的日志型、key-value数据库,并提供多种语言的API。 它是内存存储的数据结构服务器,可用作数据库、高速缓存和消息队列代理。 通过数据全部in-momery的方式保证高速访问,同时提供数据落地的功能,这是redis ...
分类:
其他好文 时间:
2018-10-12 19:26:20
阅读次数:
182
8、redis集群怎么做 1、Redis集群提供了以下两个好处1、将数据自动切分(split)到多个节点2、当集群中的某一个节点故障时,redis还可以继续处理客户端的请求。2、集群的方案: redis-cluster集群,采用无中心结构,每个节点保存数据和整个集群状态,每个节点都和其他所有节点连接 ...
分类:
Web程序 时间:
2018-10-11 01:36:18
阅读次数:
214
CPU多级缓存为什么需要CPU缓存CPU的频率越来越快,主存越来越跟不上CPU的变化,这样伴随的问题就是处理器的时钟周期内,CPU需要常常等待主存,浪费资源。所以缓存的出现,是为了缓解CPU和内存之间的速度不匹配问题。一级缓存CPU核心与主存之间有一层高速缓存。如下图(1)所示,数据的读取与存储都经过高速缓存。主存和缓存都连接在系统总线上(Bus)。多级缓存CPU核心与主存之间有多级缓存。如下图(
分类:
编程语言 时间:
2018-10-09 00:35:00
阅读次数:
276
概念 控制、协调多个进程对CPU的竞争 即按一定的调度算法从就绪队列中选择一个进程,把CPU的使用权交给被选中的进程 场景 N个进程就绪,等待上M(M>=1)个CPU运行,需要决策哪个进程分配给哪个CPU运行 解决 WHAT:调度算法(按什么原则选下一个),WHEN:调度时机(何时选),HOW:调度 ...
分类:
其他好文 时间:
2018-10-06 20:33:21
阅读次数:
190
Redis适合哪些业务场景常规业务系统的数据库访问中,读写操作的比例一般在7/3到9/1,也就是说读操作远多于写操作,因此高并发系统设计里,通过NoSQL技术将热点数据(短期内变动概率小的数据)放入内存以达到减轻DB压力,提升数据访问速度的目的,Redis和MongoDB是当下应用最广泛的NoSQL ...
分类:
其他好文 时间:
2018-10-04 11:23:33
阅读次数:
162
B树 概述 动机: B树实现高速I/O 640K如何"满足"任何实际需求了 源自比尔·盖茨的一个笑话 前提知识 1. 高速缓存 为什么高速缓存有效? 不同容量的存储器,访问速度差异悬殊,磁盘和内存访问速度的量级相差$ 10^5$ 如果将访问内存比喻为1秒,那么访问外存则相当于1天 因此我们需要尽量减 ...
分类:
其他好文 时间:
2018-09-28 20:39:38
阅读次数:
119
一般有三层结构:CPU寄存器,主存,辅存 在高档的计算机中细分为:寄存器,高速缓存,主存储器,磁盘缓存,固定磁盘,可移动存储介质。 其中寄存器,高速缓存,主存储器和磁盘缓存属于操作系统的管辖范围,掉电后其中的存储信息不存在。 寄存器和主存储器被称为可执行存储器,缓存则属于辅助存储器,不同之处就是访问 ...
分类:
其他好文 时间:
2018-09-26 20:08:39
阅读次数:
187
高并发、低延迟之玩转CPU高速缓存(附C 示例) https://www.cnblogs.com/justmine/p/9696160.html 写在前面 好久没有写博客了,一直在不断地探索响应式DDD,又get到了很多新知识,解惑了很多老问题,最近读了Martin Fowler大师一篇非常精彩的博 ...
分类:
其他好文 时间:
2018-09-26 14:55:45
阅读次数:
174
Cache vs Buffer 高速缓存和缓冲区 缓存区cache和缓冲区buffer都是临时存储区,但它们在许多方面有所不同。缓冲区buffer主要存在于RAM中,作为CPU暂时存储数据的区域,例如,当计算机和其他设备具有不同的速度时, buffer存储着缓冲的数据, 这样计算机就可以完成其他任务 ...
分类:
系统相关 时间:
2018-09-20 19:19:09
阅读次数:
154
1、利用软引用和弱引用解决OOM问题:用一个HashMap来保存图片的路径和相应图片对象关联的软引用之间的映射关系,在内存不足时,JVM会自动回收这些缓存图片对象所占用的空间,从而有效地避免了OOM的问题; 2、通过软引用对象重获方法实现java对象的高速缓存:比如我们创建了一个Employee类, ...
分类:
编程语言 时间:
2018-09-17 14:08:00
阅读次数:
156