Les bases clé-valeur

Le modèle clé-valeur sur Redis : commandes de base, cinq types de valeurs, nommage des clés, expiration et éviction, et ce que le modèle interdit : chercher une donnée par son contenu.

  • 24 cartes
  • 5 thèmes
  • Gratuit

Le programme, thème par thème

Le poids de chaque thème suit celui que lui donne l'examen.

  1. Notions
  2. Questions
  3. Ranger et relier
  4. Mises en situation
  5. Comprendre

Quelques cartes du deck

  • Base clé-valeur : de quoi s'agit-il ?

    Voir la réponse

    Base qui range chaque donnée sous un nom unique et ne sait la retrouver que par ce nom ; le contenu rangé reste opaque pour elle.

    Ce modèle très simple rend les lectures et écritures extrêmement rapides, mais on ne peut pas demander « toutes les valeurs qui contiennent tel mot ».

  • Quelle est la réponse du serveur à la dernière commande ?

    ```text
    SET compteur 10
    INCR compteur
    INCR compteur
    GET compteur
    `

    • "12"
    • "10"
    • (integer) 12
    • (nil)
    Voir la réponse

    "12"

    INCR ajoute 1 à chaque appel : 10, puis 11, puis 12. GET rend toujours le texte de la valeur, que redis-cli affiche entre guillemets ; seul INCR répond par un entier.

  • Pour stocker un jeton qui doit disparaître seul au bout de 30 secondes, on lui pose une … avec la commande ….

    Voir la réponse

    Pour stocker un jeton qui doit disparaître seul au bout de 30 secondes, on lui pose une durée de vie avec la commande EXPIRE.

    SET jeton abc EX 30 fait les deux en une seule commande atomique : écrire la valeur et poser la durée de vie.

  • Durée de vie (TTL) : de quoi s'agit-il ?

    Voir la réponse

    Délai, en secondes, au bout duquel le serveur supprime tout seul une entrée à laquelle on l'a attaché.

    EXPIRE session 60 la pose, TTL session donne le temps restant : -1 si la clé n'expire jamais, -2 si elle n'existe pas (ou plus).

  • Un cache Redis refuse les écritures avec « OOM command not allowed when used memory > 'maxmemory' ». Les clés n'ont aucune durée de vie. Quelle correction applique-t-on ?

    • Passer maxmemory à 0 pour lever toute limite de mémoire
    • Poser une durée de vie aux clés et choisir l'éviction allkeys-lru
    • Ajouter un index sur les valeurs pour qu'elles se trouvent plus vite
    • Relancer le serveur chaque nuit pour vider la mémoire
    Voir la réponse

    Poser une durée de vie aux clés et choisir l'éviction allkeys-lru

    Avec la politique par défaut noeviction, un serveur plein refuse d'écrire plutôt que de supprimer quoi que ce soit. Les durées de vie font partir seules les entrées périmées, et allkeys-lru évince le reste au besoin. Sans limite, un cache qui ne perd jamais rien grossit jusqu'à épuiser la mémoire de la machine.