Verloop van gegevens

Voltooid

Gegevens zijn niet altijd permanent en in bepaalde situaties wilt u ze op een bepaald tijdstip verwijderen. In uw chattoepassing kunnen gebruikers bijvoorbeeld de weergavenaam van de groepschat instellen. U wilt echter dat de naam na een uur opnieuw wordt ingesteld. U kunt dit doen door uw eigen logica aan de serverzijde te schrijven die een timer per uur in stelt en de naam opnieuw in te stellen. Azure Cache voor Redis ondersteunt echter verloop van gegevens, een functie die dit automatisch doet zonder dat u aanvullende logica hoeft te schrijven.

Hier leert u over de algemene Redis-opdrachten voor het implementeren van verlooptijd voor gegevens.

Wat is verloop van gegevens?

Verloop van gegevens is een functie waarmee een sleutel en waarde in de cache automatisch na een bepaalde tijd kunnen worden verwijderd.

Waarom zou u verloop van gegevens gebruiken?

Verloop van gegevens wordt meestal gebruikt in situaties waarin de gegevens die worden opgeslagen, tijdelijk zijn. Dit is belangrijk omdat Azure Cache voor Redis een in-memory database is en u niet zoveel geheugen hebt om te gebruiken als wanneer u op de schijf zou opslaan. Omdat u beperkte opslag met Azure Cache voor Redis, wilt u er zeker van zijn dat u alleen belangrijke gegevens opslaat. Als het niet nodig is om de gegevens lang te bewaren, stelt u een verlooptijd in.

Verloop van gegevens in Azure Cache voor Redis gebruiken

Er zijn verschillende opdrachten voor het implementeren en beheren van verloop van gegevens in Azure Cache voor Redis:

  • EXPIRE: hiermee stelt u de time-out van een sleutel in seconden in
  • PEXPIRE: hiermee stelt u de time-out van een sleutel in milliseconden in
  • EXPIREAT: hiermee stelt u de time-out van een sleutel met behulp van een absolute Unix-timestamp in seconden in
  • PEXPIREAT: hiermee stelt u de time-out van een sleutel met behulp van een absolute Unix-timestamp in milliseconden in
  • TTL: retourneert de resterende tijd waarin een sleutel bewaard blijft in seconden
  • PTTL: retourneert de resterende tijd waarin een sleutel bewaard blijft in milliseconden
  • PERSIST: hiermee zorgt u ervoor dat een sleutel nooit verloopt

De meest voorkomende opdracht is EXPIRE en we gebruiken deze in de hele module.

Voorbeeld van verloop van gegevens met behulp van C# en ServiceStack.Redis

Wanneer u een clientbibliotheek als ServiceStack.Redis gebruikt, hoeft u zich geen zorgen te maken over het onthouden van de Azure Cache voor Redis-opdrachten op laag niveau. In plaats daarvan kunt u eenvoudige C#-methoden gebruiken.

public static void SetGroupChatName(string groupChatID, string chatName)
{
    using (RedisClient redisClient = new RedisClient(redisConnectionString))
    {
        //Create a key for group chat display names
        string key = groupChatID + "displayName";

        //Set the group chat display name
        redisClient.SetValue(key, chatName);

        //Set the expiration for one hour
        redisClient.Expire(key, 3600);
    }
}

Azure Cache voor Redis kunt u gegevens na een bepaalde tijd automatisch verwijderen met behulp van verloop van gegevens. Dit is belangrijk omdat Azure Cache voor Redis een in-memory database is en u niet zoveel geheugen hebt als wanneer u gegevens op een schijf zou opslaan. Als het niet nodig is om de opgeslagen gegevens lang te bewaren, stelt u een verlooptijd in.