解决redis缓存穿透和缓存雪崩

一.缓存穿透:     缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,造成缓存穿透。     解决办法:     1.布隆过滤  对所有可能查询的参数以hash形式存储,在控制层先进行校验,不符...

2018-06-27 17:05:12

阅读数 599

评论数 0

zookeeper实现服务注册的原理

服务提供者在启动的时候,会在ZooKeeper上注册服务。所谓注册服务,其实就是在ZooKeeper的/dubbo/com.foo.BarService/providers节点下创建一个子节点,并写入自己的URL地址,这就代表了com.foo.BarService这个服务的一个提供者。

2018-06-26 16:58:02

阅读数 1201

评论数 0

JVM调优之jstack找出最耗cpu的线程并定位代码

jstack可以定位到线程堆栈,根据堆栈信息我们可以定位到具体代码,所以它在JVM性能调优中使用得非常多。下面我们来一个实例找出某个Java进程中最耗费CPU的Java线程并定位堆栈信息,用到的命令有ps、top、printf、jstack、grep。第一步先找出Java进程ID,服务器上的Jav...

2018-06-25 18:13:42

阅读数 185

评论数 0

HBase官方文档翻译——HBase and MapReduce

本章讨论在HBase中使用MapReduce数据时需要采取的具体配置步骤。 另外,它讨论了HBase和MapReduce作业之间的其他交互和问题。 最后,它讨论了Cascading,MapReduce的另一种API。 47、HBase, MapReduce, and the CLASSPATH默认...

2018-06-20 18:39:53

阅读数 603

评论数 0

hbase官方文档翻译——Data Model章(20-32节)

HBase Data ModelTable一个Hbase Table由多个row组成。Row在hbase中一个row由一个row key和多个column组成。在存储row时,row会按照字母顺序进行排序。因此,良好的row key设计十分重要。设计的目标是让相关的row尽可能地相互靠近。以用网站...

2018-06-20 11:56:09

阅读数 278

评论数 0

How to avoid HBase Hotspotting(解决HBase热点问题)

HBase hotspotting occurs when large amount of traffic from various clients redirected to single or very few numbers of nodes in the cluster. The HBas...

2018-06-20 00:46:09

阅读数 216

评论数 0

使用HBase Coprocessor

转载自:使用HBase CoprocessorHBase的Coprocessor是模仿谷歌BigTable的Coprocessor模型实现的。Coprocessor提供了一种机制可以让开发者直接在RegionServer上运行自定义代码来管理数据。首先必须要指明使用Coprocessor还是存在一...

2018-06-20 00:17:21

阅读数 70

评论数 0

HBase Scan流程分析

HBase的读流程目前看来比较复杂,主要由于:HBase的表数据分为多个层次,HRegion->HStore->[HFile,HFile,...,MemStore]RegionServer的LSM-Like存储引擎,不断flush产生新的HFile,同时...

2018-06-20 00:05:34

阅读数 182

评论数 0

HBase Scan & Filter原理/流程详解

2.3.4 Get expect scanning resultsIn order to have a better understanding of the below explanation, I need to explain how does a KeyValue be stored in...

2018-06-20 00:01:52

阅读数 1856

评论数 0

CAS protocol

翻译自:CAS 官网CAS protocolThe CAS protocol is a simple and powerful ticket-based protocol developed exclusively for CAS. A complete protocol specificatio...

2018-06-17 00:32:43

阅读数 110

评论数 0

CAS Architecture

翻译自:CAS 官网介绍CASCAS 是Yale(耶鲁)大学的一个开源的企业级单点登录系统,它的特点:Java (Spring Webflow/Spring Boot) 服务组件可插拔身份验证支持(LDAP,Database,X.509,MFA)支持多种协议(CAS,SAML,OAuth,Open...

2018-06-17 00:29:44

阅读数 40

评论数 0

jdk1.8 HashMap工作原理与power of two offset利用

  3. put函数的实现 put函数大致的思路为: 对key的hashCode()做hash,然后再计算index; 如果没碰撞直接放到bucket里; 如果碰撞了,以链表的形式存在buckets后; 如果碰撞导致链表过长(大于等于TREEIFY_THRESHOLD),就把链表转换成...

2018-06-12 18:27:26

阅读数 72

评论数 0

jdk1.7 ConcurrentHashMap工作原理

本文原创作者:书呆子Rico 作者博客地址:http://blog.csdn.net/justloveyou_/ ConcurrentHashMap 在 JDK 中的定义   为了更好的理解 ConcurrentHashMap 高并发的具体实现,我们先来了解它在JDK中的定义。Concurre...

2018-06-12 15:34:55

阅读数 79

评论数 0

CopyOnWriteArrayList工作原理

写入时复制(CopyOnWrite)思想写入时复制(CopyOnWrite,简称COW)思想是计算机程序设计领域中的一种优化策略。其核心思想是,如果有多个调用者(Callers)同时要求相同的资源(如内存或者是磁盘上的数据存储),他们会共同获取相同的指针指向相同的资源,直到某个调用者视图修改资源内...

2018-06-12 10:32:25

阅读数 43

评论数 0

TreeMap工作原理

一、红黑树简介TreeMap是通过红黑树实现的,增删改查的操作底层都是对红黑树的相关操作,因此先介绍红黑树的相关性质。红黑树顾名思义就是节点是红色或者黑色的平衡二叉树,它通过颜色的约束来维持着二叉树的平衡。对于一棵有效的红黑树二叉树而言我们必须增加如下规则:1、每个节点都只能是红色或者黑色2、根节...

2018-06-12 09:43:45

阅读数 430

评论数 0

WeakHashMap工作原理

基本原理WeakHashMap特点是,当除了自身有对key的引用外,此key没有其他引用,那么WeakHashMap会在下次对WeakHashMap进行增删改查操作时及时丢弃该键值对,节约内存使用,此特性使得WeakHashMap非常适合构建缓存系统。 WeakHashMap是主要通过expung...

2018-06-11 18:00:21

阅读数 449

评论数 0

LinkedHashMap工作原理

在这篇文章中,我们将会一探LinkedHashMap的内部工作原理。LinkedHashMap VS HashMapLinkedHashMap 也是一个HashMap,但它使用额外的数据结构——双向链表,定义了遍历顺序。默认情况下,遍历顺序等同于插入顺序。它也可以是entries最近被访问的顺序,...

2018-06-11 11:54:29

阅读数 280

评论数 0

b+树图文详解

B+树的优势: 1.单一节点存储更多的元素,使得查询的IO次数更少。 2.所有查询都要查找到叶子节点,查询性能稳定。 3.所有叶子节点形成有序链表,便于范围查询

2018-06-09 11:02:01

阅读数 21916

评论数 18

windows ReadFile Function

ReadFile Function从特定的文件或者input/ouput(I/O)设备中读取数据。如果设备是受支持的,读操作将发生在文件指针指向的特定位置。这个函数同时支持同步操作和异步操作。如果想了解异步操作的一个简单的函数,可以看ReadFileEx。BOOL WINAPI ReadFile(...

2018-06-08 10:47:58

阅读数 234

评论数 0

MySQL B+树索引和哈希索引的区别

导读在MySQL里常用的索引数据结构有B+树索引和哈希索引两种,我们来看下这两种索引数据结构的区别及其不同的应用建议。二者区别备注:先说下,在MySQL文档里,实际上是把B+树索引写成了BTREE,例如像下面这样的写法:CREATE TABLE t(aid int unsigned not nul...

2018-06-07 23:44:45

阅读数 111

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭