Redis:会在键上设置覆盖setex吗?

时间:2017-08-29 20:53:26

标签: redis

如果我使用setex设置了有效期的密钥,然后使用set更新该密钥的值,那么set会删除到期属性吗?

setex testKey 10 val123

5秒钟后......

set testKey val456

1 个答案:

答案 0 :(得分:2)

是的,过期/超时将被删除。

如果要保持超时,则必须使用class AddOrderToThemesOffers < ActiveRecord::Migration[5.0] def up add_column :themes_offers, :order, :integer # mark order for each existing orders add_index :themes_offers, [:theme_id, :order], unique: true, name: 'index_offer_order_on_theme' end def down remove_index :themes_offers, 'index_offer_order_on_theme' remove_column :themes_offers, :order, :integer end end 命令获取剩余的生存时间,并调用TTL重置值和超时。

为了使这两个操作成为原子,你可以将它们包装成Lua脚本。

此外,您可以使用SETEXPTTL来获得毫秒精度。