03 2020 档案

GC 的认识(转) https://github.com/qcrao/Go-Questions/blob/master/GC/GC.md#1-什么是-gc有什么作用
摘要:1. 什么是 GC,有什么作用? GC,全称 Garbage Collection,即垃圾回收,是一种自动内存管理的机制。 当程序向操作系统申请的内存不再需要时,垃圾回收主动将其回收并供其他代码进行内存申请时候复用,或者将其归还给操作系统,这种针对内存级别资源的自动回收过程,即为垃圾回收。而负责垃圾 阅读全文

posted @ 2020-03-26 12:06 wsw_seu 阅读(792) 评论(0) 推荐(0) 编辑

缓存淘汰算法--LRU算法
摘要:一个用hash表作为底层结构的数据库,当然少不了缓存淘汰算法。 LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。 新数据插入到链表头部; 每当缓存命中(即缓存数据被访问),则将数 阅读全文

posted @ 2020-03-20 15:40 wsw_seu 阅读(210) 评论(0) 推荐(0) 编辑

字符串匹配算法之Sunday算法(转)
摘要:字符串匹配算法之Sunday算法 背景 我们第一次接触字符串匹配,想到的肯定是直接用2个循环来遍历,这样代码虽然简单,但时间复杂度却是Ω(m*n),也就是达到了字符串匹配效率的下限。于是后来人经过研究,构造出了著名的KMP算法(Knuth-Morris-Pratt算法),让我们的时间复杂度降低到了O 阅读全文

posted @ 2020-03-08 18:21 wsw_seu 阅读(496) 评论(0) 推荐(0) 编辑

自适应哈希索引(Adaptive Hash Index, AHI) 转
摘要:Adaptive Hash Index, AHI 场景 比如我们每次从辅助索引查询到对应记录的主键,然后还要用主键作为search key去搜索主键B+tree才能找到记录. 当这种搜索变多了,innoDB引擎会进行优化. 维护索引叶页面中所有记录的索引键值(或键值前缀)到索引叶页面位置的Hash映 阅读全文

posted @ 2020-03-08 17:03 wsw_seu 阅读(464) 评论(0) 推荐(0) 编辑

innodb为什么需要doublewrite(转)
摘要:InnoDB的page size默认是16KB,而操作系统的一个block size是4KB,磁盘io block则更小。那么InnoDB的page刷到磁盘上要写4个操作系统block,在极端情况下(比如断电)不一定能保证4个块的写入原子性,假如只有一部分写是成功的,那么innodb的数据page就 阅读全文

posted @ 2020-03-08 15:16 wsw_seu 阅读(296) 评论(0) 推荐(0) 编辑

InnoDB Insert Buffer(插入缓冲 转)
摘要:一,插入缓冲(Insert Buffer/Change Buffer):提升插入性能 只对于非聚集索引(非唯一)的插入和更新有效,对于每一次的插入不是写到索引页中,而是先判断插入的非聚集索引页是否在缓冲池中,如果在则直接插入;若不在,则先放到Insert Buffer 中,再按照一定的频率进行合并操 阅读全文

posted @ 2020-03-08 15:14 wsw_seu 阅读(223) 评论(0) 推荐(0) 编辑

实例解读什么是Redis缓存穿透、缓存雪崩和缓存击穿(转)
摘要:Redis缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来了一些问题。其中,最要害的问题,就是数据的一致性问题,从严格意义上讲,这个问题无解。如果对数据的一致性要求很高,那么就不能使用缓存。 另外的一些典型问题就是,缓存穿透、缓存雪崩和缓存击穿。目前,业界也都有比较 阅读全文

posted @ 2020-03-05 20:42 wsw_seu 阅读(227) 评论(0) 推荐(0) 编辑

深入Golang之sync.Pool详解
摘要:我们通常用golang来构建高并发场景下的应用,但是由于golang内建的GC机制会影响应用的性能,为了减少GC,golang提供了对象重用的机制,也就是sync.Pool对象池。 sync.Pool是可伸缩的,并发安全的。其大小仅受限于内存的大小,可以被看作是一个存放可重用对象的值的容器。 设计的 阅读全文

posted @ 2020-03-03 14:39 wsw_seu 阅读(1335) 评论(0) 推荐(0) 编辑

Golang 接口型函数和http.Handler接口
摘要:一、接口型函数 参考Golang必备技巧:接口型函数 1.原始接口实现 type Handler interface { Do(k, v interface{}) } func Each(m map[interface{}]interface{}, h Handler) { if m != nil 阅读全文

posted @ 2020-03-03 11:03 wsw_seu 阅读(854) 评论(0) 推荐(0) 编辑

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示