# TTL Returns the remaining time to live of a key that has a timeout. This introspection capability allows a Redis client to check how many seconds a given key will continue to be part of the dataset. In Redis 2.6 or older the command returns `-1` if the key does not exist or if the key exists but has no associated expire. Starting with Redis 2.8 the return value in case of error changed: * The command returns `-2` if the key does not exist. * The command returns `-1` if the key exists but has no associated expire. See also the [`PTTL`](http://redis.io/docs/latest/commands/pttl) command that returns the same information with milliseconds resolution (Only available in Redis 2.6 or greater). ## Examples > SET mykey "Hello" "OK" > EXPIRE mykey 10 (integer) 1 > TTL mykey (integer) 10 Give these commands a try in the interactive console: SET mykey "Hello" EXPIRE mykey 10 TTL mykey ## Return information {{< multitabs id="ttl-return-info" tab1="RESP2" tab2="RESP3" >}} One of the following: * [Integer reply](../../develop/reference/protocol-spec#integers): TTL in seconds. * [Integer reply](../../develop/reference/protocol-spec#integers): `-1` if the key exists but has no associated expiration. * [Integer reply](../../develop/reference/protocol-spec#integers): `-2` if the key does not exist. -tab-sep- One of the following: * [Integer reply](../../develop/reference/protocol-spec#integers): TTL in seconds. * [Integer reply](../../develop/reference/protocol-spec#integers): `-1` if the key exists but has no associated expiration. * [Integer reply](../../develop/reference/protocol-spec#integers): `-2` if the key does not exist.