Sdílet prostřednictvím


Hodnota TTL (Time to Live) ve službě Azure Cosmos DB

PLATÍ PRO: NoSQL

Služba Time to Live nebo TTL odstraní položky z kontejneru automaticky po určitém časovém období. Ve výchozím nastavení můžete nastavit, aby se doba života na úrovni kontejneru přepsala na základě jednotlivých položek. Po nastavení hodnoty TTL v kontejneru nebo na úrovni položky služba Azure Cosmos DB tyto položky automaticky odebere po uplynutí časového období od doby, kdy byly naposledy změněny. Hodnota Time to Live je nakonfigurovaná v sekundách. Když nakonfigurujete hodnotu TTL, systém automaticky odstraní položky s vypršenou platností na základě hodnoty TTL, aniž by potřeboval operaci odstranění explicitně vystavenou klientskou aplikací. Maximální hodnota hodnoty TTL je 2 147 483 647 sekund, což je přibližný ekvivalent 24 855 dnů nebo 68 let.

Položky s vypršenou platností se odstraní jako úloha na pozadí. Položka se už nebude zobrazovat v odpovědích na dotazy hned po vypršení platnosti hodnoty TTL, i když ještě nebyla trvale odstraněna z kontejneru. Pokud kontejner nemá dostatek jednotek žádostí (RU) k provedení odstranění, odstranění dat se zpozdí. Data budou odstraněna, jakmile budou k dispozici dostatečné jednotky RU pro dokončení odstranění.

U zřízených účtů propustnosti používá odstranění položek s vypršenou platností zbývající jednotky RU, které uživatelské požadavky nespotřebovaly.

U bezserverových účtů se odstranění položek s vypršenou platností účtuje v rukách se stejnou rychlostí jako operace odstranění položek.

Poznámka:

Tento obsah souvisí s transakčním úložištěm TTL služby Azure Cosmos DB. Pokud hledáte hodnotu TTL analytického úložiště, která umožňuje scénáře NoETL HTAP prostřednictvím služby Azure Synapse Link, klikněte sem.

Doba života pro kontejnery a položky

Hodnota time to live je nastavena v sekundách a interpretuje se jako rozdíl od času poslední změny položky. V kontejneru nebo v rámci kontejneru můžete nastavit dobu, kdy se má v kontejneru žít:

  1. Time to Live on a container (set using DefaultTimeToLive):

    • Pokud chybí (nebo je nastavená hodnota null), nevypršela platnost položek automaticky.

    • Pokud je hodnota přítomná a hodnota je nastavená na hodnotu -1, rovná se nekonečnu a ve výchozím nastavení nevyprší platnost položek.

    • Pokud existuje hodnota a hodnota je nastavena na některé nenulové číslo "n", položky vyprší "n" sekund po jejich čase poslední změny.

  2. Time to Live on an item (set using ttl):

    • Tato vlastnost se vztahuje pouze v případě DefaultTimeToLive , že je k dispozici a není nastavena na hodnotu null pro nadřazený kontejner.

    • Pokud je k dispozici, přepisuje hodnotu DefaultTimeToLive nadřazeného kontejneru.

Konfigurace Time to Live

  • Pokud je hodnota TTL v kontejneru nastavená na n , vyprší platnost položek v daném kontejneru po n sekundách. Pokud jsou ve stejném kontejneru položky, které mají svůj vlastní čas naživo, nastavte na hodnotu -1 (což znamená, že nevyprší jejich platnost). Pokud některé položky přepíší nastavení času naživo jiným číslem, vyprší platnost těchto položek na základě jejich vlastní nakonfigurované hodnoty TTL.

  • Pokud hodnota TTL není nastavená na kontejner, nemá čas na aktivní položku v tomto kontejneru žádný vliv.

  • Pokud je hodnota TTL v kontejneru nastavená na hodnotu -1, vyprší platnost položky v tomto kontejneru, která má nastavený čas na hodnotu n, po n sekundách a zbývající položky nevyprší.

Příklady

Tato část ukazuje některé příklady s různými hodnotami času naživo přiřazené kontejneru a položkám:

Poznámka:

Nastavení hodnoty TTL na hodnotu null u položky není podporováno. Hodnota TTL položky musí být nenulové kladné celé číslo menší nebo rovno 2147483647 nebo -1, což znamená, že položka nikdy nevyprší. Pokud chcete pro položku použít výchozí hodnotu TTL, ujistěte se, že vlastnost TTL není k dispozici.

Příklad 1

Hodnota TTL v kontejneru je nastavená na hodnotu null (DefaultTimeToLive = null).

Hodnota TTL u položky Výsledek
Chybějící vlastnost ttl Hodnota TTL je zakázaná. Položka nikdy nevyprší (výchozí).
ttl = -1 Hodnota TTL je zakázaná. Položka nikdy nevyprší.
ttl = 2000 Hodnota TTL je zakázaná. Položka nikdy nevyprší.

Příklad 2

Hodnota TTL v kontejneru je nastavená na -1 (DefaultTimeToLive = -1)

Hodnota TTL u položky Výsledek
Chybějící vlastnost ttl Je povolená hodnota TTL. Položka nikdy nevyprší (výchozí).
ttl = -1 Je povolená hodnota TTL. Položka nikdy nevyprší.
ttl = 2000 Je povolená hodnota TTL. Položka vyprší po 2 000 sekundách.

Příklad 3

Hodnota TTL v kontejneru je nastavená na 1000 (DefaultTimeToLive = 1000)

Hodnota TTL u položky Výsledek
Chybějící vlastnost ttl Je povolená hodnota TTL. Položka vyprší po 1 000 sekundách (výchozí).
ttl = -1 Je povolená hodnota TTL. Položka nikdy nevyprší.
ttl = 2000 Je povolená hodnota TTL. Položka vyprší po 2 000 sekundách.

Další kroky

Informace o konfiguraci funkce Time to Live najdete v následujících článcích: