1. Redis过期策略定期删除和惰性删除
- 定期删除: Redis会每隔一段时间执行一次定期删除,但并不保证所有过期的key会被立即清理掉.
- 惰性删除: 当一个key被访问时,Redis会监测key是否过期,过期则删除并释放相应内存空间.
2. 解答
当Redis中的key过期后,虽然这个key在逻辑上已经过期了,但是Redis并不会立即释放内存空间,由于Redis采用了定期删除和惰性删除两种删除策略,这就意味着Redis中的key过期清理并不是实时的,所以即使key过期了Redis也不会立即清理它们,只有在执行定期删除或者访问的时候才会进行清理操作,因此一下过期的key可能会在一段时间内Redis中,直到触发Redis相应的清理机制,才会被删除或者释放内存.