IBM Cloud Docs
Configuration de Redis en tant que cache

Configuration de Redis en tant que cache

IBM Cloud® Databases for Redis prend en charge la modification de la configuration de la base de donnéesRedis, et vous pouvez l'utiliser pour configurer Redis en tant que cache. Une fois configuré en tant que cache, Redis expulse les anciennes données au profit des nouvelles données en fonction des paramètres de cache que vous définissez. Même lorsqu'ils sont configurés en tant que cache, les déploiements Databases for Redis effectuent tout de même un instantané de sauvegarde tous les jours. Actuellement, il n'est pas possible de désactiver les sauvegardes sur votre déploiement. Ils écrivent également des données sur disque pour assurer la haute disponibilité. Redis s'appuie sur la copie dans un fichier .rdb pour resynchroniser les abonnés.

Paramètres du cache

Pour configurer le cache, vous ajustez les paramètres maxmemory et maxmemory de votre déploiement. maxmemory définit la taille du cache. maxmemory-policy définit le comportement d'expulsion lorsque la limite définie par maxmemory est atteinte. En outre, d'autres paramètres prennent en charge les opérations de base de données et l'optimisation.

maxmemory

Par défaut, la valeur du paramètre maxmemory correspond à 80 % de la mémoire disponible d'un noeud de données, par conséquent, votre noeud ne manquera pas de ressources système. Vous pouvez ajuster ce paramètre, mais définissez une limite raisonnable. Sinon, vos données peuvent prendre toute la mémoire disponible et votre déploiement peut se retrouver à court de ressources.

maxmemory-policy

Politiques d'éviction Redis disponibles
Règle Comportement
noeviction Les clés ne sont pas expulsées et une erreur est renvoyée lorsque la limite définie au paramètre maxmemory est atteinte.
allkeys-lfu Conserve les clés fréquemment utilisées et supprime les clés les moins fréquemment utilisées (LFU).
volatile-lfu Supprime les clés les moins fréquemment utilisées avec la zone d'expiration définie sur true.
allkeys-lru Expulse en premier les clés les moins utilisées récemment (LRU).
volatile-lru Expulse en premier les clés les moins utilisées récemment (LRU) appartenant à l'ensemble de clés qui arrivent à expiration.
allkeys-random Expulse les clés de manière aléatoire.
volatile-random Expulse de manière aléatoire les clés appartenant à l'ensemble de clés qui arrivent à expiration.
volatile-ttl Expulse en premier les clés qui arrivent à expiration et tente d'expulser les clés dont la durée de vie est plus courte.

Avec une règle allkeys, l'algorithme choisit les clés à expulser de l'ensemble de toutes les clés. Avec une règle volatile, l'algorithme choisit d'expulser des clés ayant expirés ou ayant un ensemble Time-to-live (TTL). Dans une règle volatile, si aucune clé ne correspond à la règle, aucune clé n'est expulsée.

Autres paramètres

Paramètres du cacheRedis
Règle Comportement Remarques
appendonly La valeur par défaut est yes. Permet d'écrire les données Redis sur le disque. Si vous mettez en cache des données, vous souhaitez définir cette valeur sur no.
stop-writes-on-bgsave-error La valeur par défaut est yes. Redis arrête d'accepter des écritures s'il détecte un instantané de sauvegarde ayant échoué. Pour la mise en cache, vous pouvez affecter la valeur no à ce paramètre .
maxmemory-samples Permet de régler l'algorithme LRU. La valeur par défaut est 5. Algorithme LRU approximatif

Définition d'un exemple de cache

Pour ajuster la configuration de votre déploiement, envoyez un objet JSON avec les paramètres que vous souhaitez modifier et leurs nouvelles valeurs.

Vous pouvez utiliser CONFIG SET directement à partir d'un client Redis, mais les modifications apportées ne sont pas permanentes. Utilisez le 'Cloud Databases 'Plug-in CLI ou 'API pour modifier le fichier de configuration de votre déploiement. Pour plus d'informations, voir la page $$$Changing Your Redis Configuration.

Par exemple, la documentation Redis recommande le paramètre allkeys-lru comme point de départ pour un cache à usage général. Il est également recommandé de conserver les valeurs par défaut des paramètres maxmemory et maxmemory-samples.

Pour configurer le cache à partir de l'interface de gestion, vous pouvez procéder comme suit :

ibmcloud cdb deployment-configuration '<INSTANCE_NAME_OR_CRN>' '{"configuration":{"maxmemory-policy":"allkeys-lru", "appendonly":"no", "stop-writes-on-bgsave-error":"no"}}'

Pour mettre en place la même configuration par le biais de l'API, vous pouvez utiliser ce qui suit :

curl -X PATCH 'https://api.{region}.databases.cloud.ibm.com/v4/ibm/deployments/{id}/configuration/schema' \
-H "Authorization: Bearer $APIKEY" \
-H "Content-Type: application/json" \
-d '{"configuration":{
        "maxmemory-policy":"allkeys-lru",
        "appendonly":"no",
        "stop-writes-on-bgsave-error":"no"
      }
    }'