Redis过期的数据删除策略

  1. 惰性删除:当取出这个key时才会对数据进行过期检查
  2. 定期删除:每隔一段时间抽出一些key执行删除过期key的操作

Redis采用定期删除+惰性删除的策略,但是还是可能定期删除和惰性删除漏掉了很多过期的key,导致key堆积在内存中导致out of memory
Redis采用内存淘汰机制解决这个问题

Redis的内存淘汰机制

  1. volatile-lru
  2. volatile-ttl
  3. volatile-random
  4. allkeys-lru
  5. allkeys-random
  6. no-eviction

4.0 版本后增加以下两种:

  1. volatile-lfu
  2. allkeys-lfu

线程需要保存哪些上下文

线程在切换的过程中需要保存当前线程Id、线程状态、堆栈、寄存器状态等信息。其 中寄存器主要包括SP PC EAX等寄存器,其主要功能如下: SP:堆栈指针,指向当前栈的栈顶地址 PC:程序计数器,存储下一条将要执行的指令 EAX:累加寄存器,用于加法乘法的缺省寄存器