Vzhledem k tomu, že děláte „...“, je těžké říci s jistotou, ale řekl bych, že během této části nastavujete mykey, což účinně odstraní vypršení platnosti.
Z příručky EXPIRE
Časový limit se vymaže pouze po odstranění klíče pomocí příkazu DEL nebo přepsání pomocí příkazů SET nebo GETSET
Také ohledně odpovědi -1 od TTL
Návratová hodnota
Celočíselná odpověď:TTL v sekundách nebo -1, když klíč neexistuje nebo nemá časový limit.
UPRAVIT:Všimněte si, že toto chování se ve verzi Redis 2.8 změnilo
Počínaje verzí Redis 2.8 se návratová hodnota v případě chyby změnila:
Příkaz vrátí hodnotu -2, pokud klíč neexistuje.
Příkaz vrátí hodnotu -1, pokud klíč existuje, ale nemá přidružené vypršení platnosti.Příkaz vrátí hodnotu -1. P>
Jinými slovy, pokud váš klíč existuje, zdá se, že je trvalý, tj. nemá nastavenou dobu platnosti.
EDIT:Zdá se, že to mohu reprodukovat, pokud vytvořím klíč na podřízeném serveru REDIS, podřízený klíč nesmaže bez hlavního vstupu, protože normálně byste klíče nevytvářeli lokálně na podřízeném serveru. Je to tento případ?
Zatímco však podřízeným zařízením připojeným k hlavnímu zařízení nevyprší platnost klíčů nezávisle (ale bude čekat na DEL přicházející od hlavního zařízení), stále budou mít plný stav vypršení platnosti existující v datové sadě, takže když je podřízený systém zvolen jako hlavní zařízení, bude moci vypršet platnost klíčů nezávisle a bude plně fungovat jako hlavní.