get命令本质是调用了lookupKeyRead这个底层方法,lookupKeyRead方法如下:
lookupKeyReadWithFlags方法如下:
expireIfNeeded方法用来判断一个key是否过期返回1,说明已经过期返回0,说明数据没有过期
先说明,redis中,过期时间等信息是单独放在一个table中存储的,因为不是所有key都设有过期时间,放在一起存储会额外增加存储成本。再看同步删除dbSyncDelete的策略