2016-11-25 26 views
0

私は赤字でtutorialを経由し、意味をなさないコマンドを見つけました。私のコードから、私は-2生存期間の戻り値がまだ明らかに存在するキーになっています。期限切れにならないように私のコードは-1を返してはいけませんか?初心者のレディスコマンド

チュートリアルは言う:

Redis can be told that a key should only exist for a certain length of time. This is accomplished with the EXPIRE and TTL commands.

SET resource:lock "Redis Demo" EXPIRE resource:lock 120

This causes the key resource:lock to be deleted in 120 seconds. You can test how long a key will exist with the TTL command. It returns the number of seconds until it will be deleted.

TTL resource:lock => 113 // after 113s TTL resource:lock => -2

The -2 for the TTL of the key means that the key does not exist (anymore). A -1 for the TTL of the key means that it will never expire. Note that if you SET a key, its TTL will be reset.

SET resource:lock "Redis Demo 1"
EXPIRE resource:lock 120
TTL resource:lock => 119
SET resource:lock "Redis Demo 2"
TTL resource:lock => -1

これは私が対話型端末に入力したコードです。私の前提は、期限切れにならないように、3行目が-1を返すべきだったということです。私は期限切れの時間を設定していないので、なぜ私が戻ってくるのかわからない-2。

> SET loggedIn "True" 
OK 
> TTL logggedIn 
(integer) -2 
> GET loggedIn 
"True" 

答えて

0

あなたはスペルエラーを持っている:あなたはloggedInという名前のキーを設定し、logggedIn

のTTLを取得しようとしながら、