APCu et Redis

PHP APCu

APCu est un cache type clé-valeur pour PHP, il permet de stocker n’importe quelle variable. C’est un outil très répandu qui peut être facilement mis en place au sein d’un framework :

Les paramètres suivants sont intéressants à modifier en fonction des besoins :

Nom du paramètreDescription
apc.entries_hintLa quantité de mémoire à pré-allouer, c’est uniquement une indication, pas une limite stricte.
apc.shm_sizeLa taille maximale de mémoire dédiée à APCu.
apc.ttlLa durée maximale d’une valeur en cache.
apc.slam_defenseÉviter ou non que les processus essaient de mettre en cache la même valeur.
serializerPermet d’utiliser un serializer tiers, utile pour en utiliser un plus performant que celui de PHP.

Redis

Redis permet de faire la même chose qu’APCu mais est beaucoup plus flexible et scalable :

Nom du paramètreDescription
timeoutDurée maximale (en secondes) pendant laquelle une connexion reste ouverte sans activité avant d’être automatiquement fermée.
databasesNombre d’espaces de noms distincts disponibles au sein de l’instance Redis pour l’organisation des données.
maxmemoryLimite maximale de mémoire dédiée à Redis.
maxmemory_policyComportement de Redis lorsque la limite maxmemory est atteinte, à modifier absolument sinon le site peut devenir inaccessible.

En fonction des besoins, il y a trois stratégies d’éviction :