検索

ホームページ  >  に質問  >  本文

nosql - redis expire 疑问

使用 redis-cli 设置 mykey, 并且设置其过期时间为 40s, 然后, 我再重新设置 mykey, 这时 mykey 的值会被重置, 我不明白的是为啥 过期时间也同时重置了?如果我仅仅想重置值, 不更改过期时间有没办法?

源码:

SET mykey "Hello"

EXPIRE mykey 40

EXISTS mykey

SET mykey "Hello"

EXISTS mykey

EXISTS mykey
给我你的怀抱给我你的怀抱2873日前749

全員に返信(2)返信します

  • 大家讲道理

    大家讲道理2017-04-27 09:04:48

    公式 Web サイトにアクセスして、期限切れの説明を読んでください:
    次のように説明されています:

    リーリー

    DEL、SET、GETSET を使用すると、キーに格納されている値が新しい値に置き換えられ、リスト構造にデータを追加するか、リスト構造のフィールドを変更すると、コマンドによってタイムアウトもクリアされます。 hset データのタイムアウトはクリアされません。set を通じて値を上書きしたい場合は、期限切れをリセットする必要があります。

    リンクをクリックしてください

    返事
    0
  • 怪我咯

    怪我咯2017-04-27 09:04:48

    EXPIREAT と EXPIRE は、値を更新するときに有効期限をリセットします。

    設定前にttlでキーの有効期限を取得します
    設定後、ttlの値を有効期限に設定します

    リーリー

    ただし、この方法ではエラーが発生する可能性があります。他の人がより良い方法を持っているかどうかはわかりません。

    返事
    0
  • キャンセル返事