Redis过期的数据删除策略
- 惰性删除:当取出这个key时才会对数据进行过期检查
- 定期删除:每隔一段时间抽出一些key执行删除过期key的操作
Redis采用定期删除+惰性删除的策略,但是还是可能定期删除和惰性删除漏掉了很多过期的key,导致key堆积在内存中导致out of memory
Redis采用内存淘汰机制解决这个问题
Redis的内存淘汰机制
- volatile-lru
- volatile-ttl
- volatile-random
- allkeys-lru
- allkeys-random
- no-eviction
4.0 版本后增加以下两种:
- volatile-lfu
- allkeys-lfu
线程需要保存哪些上下文
线程在切换的过程中需要保存当前线程Id、线程状态、堆栈、寄存器状态等信息。其 中寄存器主要包括SP PC EAX等寄存器,其主要功能如下: SP:堆栈指针,指向当前栈的栈顶地址 PC:程序计数器,存储下一条将要执行的指令 EAX:累加寄存器,用于加法乘法的缺省寄存器