03 2019 档案

摘要:bitmap应用场景 有一个无序有界int数组{1,2,5,7},初步估计占用内存44=16字节,这倒是没什么奇怪的;但是假如有10亿个这样的数呢,10亿4/(102410241024)=3.72G左右。如果这样的一个大的数据做查找和排序,那估计内存也崩溃了,有人说,这些数据可以不用一次性加载,那就 阅读全文
posted @ 2019-03-31 16:08 車輪の唄 阅读(29) 评论(0) 推荐(0) 编辑
摘要:Mysql只有term dictionary这一层,是以b-tree排序的方式存储在磁盘上的。检索一个term需要若干次的random access的磁盘操作。而Lucene在term dictionary的基础上添加了term index来加速检索,term index以树的形式缓存在内存中。从t 阅读全文
posted @ 2019-03-31 10:24 車輪の唄 阅读(27) 评论(0) 推荐(0) 编辑
摘要:SkipList本质上是在有序的链表上实现实现二分查找,它能有效的提升链表的查找效率,其时间复杂度为O(logn)(其中n为链表长度)。简单说SkipList优化了Postings的随机查找的性能问题。 SkipList的节点存储了三部分数据,分别是当前节点指向Block的信息,是关于Block本身 阅读全文
posted @ 2019-03-29 18:37 車輪の唄 阅读(17) 评论(0) 推荐(0) 编辑
摘要:BooleanScorer中的一些变量跟方法 static final int SHIFT = 11; static final int SIZE = 1 << SHIFT; static final int SET_SIZE = 1 << (SHIFT - 6); static class Buc 阅读全文
posted @ 2019-03-29 17:46 車輪の唄 阅读(15) 评论(0) 推荐(0) 编辑
摘要:Lucene设计了一系列内存高效的数据结构,通过 对象复用 和 内存分页 的思想,来优化Java GC问题。这部分内容将围绕ByteBlockPool, IntBlockPool,ParallelPostingsArray, BytesRefHash展开 ByteBlockPool, IntBloc 阅读全文
posted @ 2019-03-21 19:35 車輪の唄 阅读(91) 评论(0) 推荐(0) 编辑
摘要:BulkOperationPacked BulkOperation类的子类BulkOperationPacked,他提供了很多对整数(integers)的压缩存储方法,其压缩存储过程其实就是对数据进行编码,将每一个整数(long或者int)编码为固定大小进行存储,大小取决于最大的那个值所需要的bit 阅读全文
posted @ 2019-03-20 15:07 車輪の唄 阅读(7) 评论(0) 推荐(0) 编辑
摘要:去重编码(dedupAndEncode) 去重编码是Lucene中对int类型数据的一种压缩存储方式,在FacetsConfig类中用到此方法来处理int类型数据。其优点在于,存储一个原本需要固定4个字节空间大小的int类型的数据,最好的情况下只要1个字节,最差的情况下需要5个字节。 处理过程 去重 阅读全文
posted @ 2019-03-20 15:05 車輪の唄 阅读(17) 评论(0) 推荐(0) 编辑
摘要:Nginx URL重写(rewrite)介绍 和apache等web服务软件一样,rewrite的组要功能是实现RUL地址的重定向。Nginx的rewrite功能需要PCRE软件的支持,即通过perl兼容正则表达式语句进行规则匹配的。默认参数编译nginx就会支持rewrite的模块,但是也必须要P 阅读全文
posted @ 2019-03-17 17:08 車輪の唄 阅读(52) 评论(0) 推荐(0) 编辑
摘要:1. accept_mutex events { accept_mutex off; } 当一个新连接到达时,如果激活了accept_mutex,那么多个Worker将以串行方式来处理,其中有一个Worker会被唤醒,其他的Worker继续保持休眠状态;如果没有激活accept_mutex,那么所有 阅读全文
posted @ 2019-03-17 14:16 車輪の唄 阅读(14) 评论(0) 推荐(0) 编辑
摘要:innodb引擎中, 锁是根据也的组织形式来进行管理的. 若要知道页中某一条记录是否已经有锁,则通过位图的方式, 位图中的索引与记录的heap no一一对应. 行锁在innodb存储引擎中的定义如下 struc lock_reck_struct{ ulint space; ulint page_no 阅读全文
posted @ 2019-03-15 16:11 車輪の唄 阅读(14) 评论(0) 推荐(0) 编辑
摘要:Redis 的淘汰机制 Redis可以看作是一个内存数据库,可以通过Maxmemory指令配置Redis的数据集使用指定量的内存。设置maxmemory为0,则表示无限制(这是64位系统的默认行为,而32位系统使用3GB内隐记忆极限)。 maxmemory 100mb 当内存使用达到maxmemor 阅读全文
posted @ 2019-03-09 19:13 車輪の唄 阅读(12) 评论(0) 推荐(0) 编辑
摘要:Redis是支持时间事件的,所谓时间事件,是为某个键值对设置过期时间,时间一到,Redis会自动删除该键值对。例如使用SET命令添加字符串类型的键值对 127.0.0.1:6379> SET blog redis ex 10 //添加键值对<blog, redis>,10秒后删除 OK 127.0. 阅读全文
posted @ 2019-03-08 10:05 車輪の唄 阅读(18) 评论(0) 推荐(0) 编辑
摘要:个人理解, 通知分为两种类型, 一种基于键的通知(用来监听某个键的修改和被执行了什么命令), 一种是非键的(可以理解为mq,通过指定一个channel) 基于键的通知 1. 通知功能介绍 客户端可以通过 订阅与发布功能(pub/sub)功能,来接收那些以某种方式改动了Redis数据集的事件。 目前R 阅读全文
posted @ 2019-03-07 18:46 車輪の唄 阅读(16) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示