problème de pénétration du cache Redis

La pénétration du cache signifie que les données demandées par le client n'existent pas dans le cache ou dans la base de données, donc le cache ne prendra jamais effet et ces requêtes arriveront dans la base de données.

Solutions courantes :

Cacher les objets vides : lorsque la première requête constate qu'elle n'existe pas dans Redis ou dans la base de données, vous pouvez définir les données de la requête comme clé et null comme valeur, et les placer dans le cache.

Mais il y aura un problème, c'est-à-dire que s'il y a trop de requêtes de ce type, cela entraînera une pression excessive sur la mémoire. La solution est de définir un délai d'expiration de cinq minutes, mais lorsque nous attribuerons ensuite une valeur à cette clé, cela provoquer une incohérence des données à court terme.

Avantages : Mise en œuvre simple et maintenance aisée.

Inconvénients : une consommation de mémoire supplémentaire peut entraîner des incohérences de données à court terme.

Filtre Bloom : C'est une opération effectuée avant redis. C'est à dire que lorsque la requête est envoyée, elle ne vérifie pas d'abord le cache, mais vérifie d'abord le filtre Bloom. Si le filtre Bloom n'existe pas, il sera directement rejeté. Si on pense qu'elle existe, elle est publiée, mais les données n'existent pas nécessairement dans Redis ou dans la base de données.

Principe : Calculez la valeur de hachage des données dans la base de données en fonction d'un certain algorithme de hachage, puis convertissez la valeur de hachage en bits binaires, stockez-la dans le filtre Bloom et laissez-la porter un jugement. Rejetez les données qui ne doivent pas exister.

Avantages : moins d'utilisation de la mémoire, pas de clés redondantes

Inconvénients : La mise en œuvre est complexe et il existe un risque d’erreur de jugement.

Autres solutions :

Augmentez la complexité des paramètres pour éviter de deviner les règles d'identification ;

Effectuer une vérification de format de base des données

Renforcez la vérification des autorisations des utilisateurs, comme le paramètre selon lequel vous devez vous connecter avant d'accéder, etc.

Faites du bon travail en limitant le flux actuel des paramètres de hotspot

おすすめ

転載: blog.csdn.net/wfdfg/article/details/133324618