Redis 提供了 EXPIRE(PEXPIRE) 和 EXPIREAT(PEXPIREAT)两个命令以秒或者毫秒精度来设置过期时间,区别是前者是生存时间,后者是具体的过期时...
Redis 提供了 EXPIRE(PEXPIRE) 和 EXPIREAT(PEXPIREAT)两个命令以秒或者毫秒精度来设置过期时间,区别是前者是生存时间,后者是具体的过期时...
1.Redis 的过期键删除策略 按官方的解释,有主动和被动两种策略 策略优势劣势主动删除减少了对CPU和内存的影响难以确定操作执行的时长和频率被动删除CPU友好内存不友好 ...
对于实现数据结构来说,Redis 就给我们提供了两个优秀的设计思想:一个是使用连续的内存空间,避免内存碎片开销;二个是针对不同长度的数据,采用不同大小的元数据,以避免使用统一...
一、hash 数据结构 源码文件:src/dict.h、src/dict.c 二、如何实现 rehash? Add an element to the target hash...
一、什么是 SDS Redis是使用C语言开发的,所以为了保证能尽量复用C标准库中的字符串操作函数,Redis保留了使用字符数组来保存实际的数据。但是,和C语言仅用字符数组不...
主要为了解决链表查询效率问题 一、时间复杂度 每级别索引的元素个数:n/2、n/4、n/8、...、n/(2^k) 假如索引有 h级,最高级的索引有 2 个节点。n/(2^h...
一、时间复杂度 prepend O(1) append O(1) lookup O(n) insert O(1) delete O(1) 二、Java LinkedList ...
一、时间复杂度 prepend O(n) append O(1) lookup 按索引查找 O(1) insert O(n) delete O(n) 二、Java Array...
一、复杂度符号(Big O notation) O(1): Constant Complexity 常数复杂度 O(log n): Logarithmic Complexit...
一、切碎知识点(Chunk it up) 庖丁解牛,脉络连接 二、刻意练习(Deliberate Practicing) 2.1 切题四件套 理解题意,对齐问题(Clarif...
对多线程的理解 进程是操作系统进行资源分配的基本单位,而线程是操作系统进行调度的基本单位; 多线程是随着多核CPU的出行,才实现了真正意义的并行执行; 好处:资源利用率更高、...
第一章 忙·茫·盲 l 在某一年,每个人都会埋下一颗人性的种子,我们会一起看它慢慢发芽,然后各自忙着成长,渐渐地,忘了关注彼此,再回头才惊觉:你怎么变了? l 我想变得不太一...