不会立即删除,因为删除key时肯定是主服务来删除(因为redis是单线程的),所以当他在执行删除指令的时候,他就无法进行其他的操作,立即删除会影响性能;所以呢,他不会立即进行删除;
删除机制:
(1)定期删除:redis每隔一段时间就会去查看reids,设置了过期时间的key,会在100ms的间隔内默认查看3个key。
(2)惰性删除:如果当你去查询一个已经过了生存时间的key时,redis会先查看当前key的生存时间,如果你查询的key已经过了生存时间,redis会立即删除,并且返回给用户一个null值;也就是当你去查询的时候,redis去进行删除;
注意:当然无论redis删没删掉这个key外界都是查不到的;只是没删的话还占着内存而已;