牛 class Node { public int key, val; public Node next, prev; public Node(int k, int v) { this.key = k; this.val = v; } } class DoubleList { private Nod ...
分类:
其他好文 时间:
2020-05-26 01:24:41
阅读次数:
49
Redis Redis 简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 Redis不仅仅支 ...
分类:
数据库 时间:
2020-05-26 01:06:19
阅读次数:
91
摘要:这是一次2020年腾讯面试的面经,分享给大家,祝你拿到腾讯offer
分类:
编程语言 时间:
2020-05-24 11:36:26
阅读次数:
129
LRU的思路: ? 查找某个节点,如果该节点存在,则将它放到头部 ? 增加一个节点,如果不存在,将它添加到头部,如果此时超过了LRU的大小,则将最后一个节点删除;如果存在,就更新节点的value,然后放到头部。 实现方式可以用LinkedHashMap,也可以自己实现 LinkedHashMap: ...
分类:
其他好文 时间:
2020-05-22 21:32:56
阅读次数:
64
高性能key-value分布缓存,多线程,主线程/工作线程 slab机制 slab->trunk->item 默认slab1M trunk size 递增 freelist LRU 通过hashtable定位key 单向链表解决冲突 高性能特性,单节点百万级QPS 系统架构 网络处理 libeven ...
分类:
系统相关 时间:
2020-05-21 11:54:43
阅读次数:
83
HashMap、LinkedHashMap HashMap 底层结构 数组 链表 当链表的长度大于等于 8 时,链表会转化成红黑树; 红黑树 当红黑树的大小小于等于 6 时,红黑树会转化成链表。 常见属性 主要操作 新增 链表的新增 链表的新增比较简单,就是把当前节点追加到链表的尾部,和 Linke ...
分类:
其他好文 时间:
2020-05-06 09:15:32
阅读次数:
68
题目: 解答: 1 // 总的思想就是 哈希双向链表 2 struct Node 3 { 4 int key; 5 int value; 6 Node* pre; 7 Node* next; 8 // 构造函数初始化 9 Node(int key, int value) : key(key), va ...
分类:
编程语言 时间:
2020-05-05 21:39:13
阅读次数:
69
Redis 的淘汰策略: 1、noeviction: 不删除策略, 达到最大内存限制时, 如果需要更多内存, 直接返回错误信息。 大多数写命令都会导致占用更多的内存(有极少数会例外, 如 DEL )。 2、allkeys-lru: 所有key通用; 优先删除最近最少使用(less recently ...
分类:
其他好文 时间:
2020-05-04 17:16:52
阅读次数:
54
最近,我读了一篇有趣的文章,文中介绍了一些未充分使用的Python特性的。在文章中,作者提到,从Python 3.2开始,标准库附带了一个内置的装饰器functools.lru_cache。我发现这个装饰器很令人兴奋,有了它,我们有可能轻松地为许多应用程序加速。 你可能在想,这很好,但这个装饰器究竟 ...
分类:
编程语言 时间:
2020-05-03 21:50:32
阅读次数:
113
题目描述: 方法一:记忆化递归+状态压缩 * from functools import lru_cache class Solution: def numberWays(self, hats: List[List[int]]) -> int: N = len(hats) M = 41 mod = ...
分类:
其他好文 时间:
2020-05-03 21:35:02
阅读次数:
85