当前位置:网站首页>Redis - problèmes de cache
Redis - problèmes de cache
2022-06-30 12:28:00 【Tableau Nouveau】
Préface:
Chaque fois qu'un projet est lancé, il y a trop de données dans la base de données, ce qui entraîne un stockage excessif de données,Informations sur la page d'accueil plusieurs corps de demande sont utilisés directementMySQLLa base de données est lente,Influencer l'expérience utilisateur est utilisé pourredisSolutions aux problèmes de mise en cache,Pour augmenter l'énergie.
Pénétration du cache
Les données demandées par le client n'existent ni dans le cache ni dans la base de données,Un tel cache ne fonctionnera jamais,Ces demandes sont envoyées à la base de données
Résolution de problèmes:
- Cache un objet vide
Avantages:Simple à réaliser,Facile à entretenir
Inconvénients:Consommation de mémoire supplémentaire,Risque d'incohérence à court terme

2.Filtration blon
Avantages:Faible consommation de mémoire,Il n'y a pas d'autresKey
Inconvénients:Complexité de la mise en œuvre,Il y a un risque d'erreur judiciaire

Rupture du cache
La rupture du cache signifie qu'il n'existe pas dans le cache de données interrogé par l'utilisateur,Mais la base de données d'arrière - plan existe,Ce phénomène se produit parce qu'il est généralement causé par le cache key En raison de l'expiration.Comme un Hotspot Data key,Il reçoit un grand nombre d'accès simultanés tout le temps,Si à un moment donné key Il est tombé en panne.,Il en résulte un grand nombre de demandes concurrentes dans la base de données d'arrière - plan, Provoque une augmentation instantanée de sa pression .Ce phénomène est appelé rupture du cache.
Il y a deux solutions pour briser le cache :
1) Modifier le délai d'expiration
Définir les données du Hotspot pour ne jamais expirer.
2) Serrure distribuée
Méthode utilisant des serrures distribuées , Redessiner l'utilisation du cache ,La procédure est la suivante:
- Verrouillage:Quand on passe key Lors de la recherche de données,Interrogez d'abord le cache,Si ce n'est pas le cas, Verrouillage par verrouillage distribué , Le premier processus d'acquisition des serrures entre dans la requête de base de données de Backend , Et mettre les résultats de la requête à Redis Moyenne.
- Déverrouiller: Lorsque d'autres processus constatent que la serrure est occupée par un processus ,En attente, Jusqu'à ce qu'il soit déverrouillé , Les autres processus accèdent à tour de rôle à ce qui est mis en cache key.
Cache l'avalanche
Une avalanche de cache est une avalanche massive dans un cache key Expire en même temps, Et à ce moment - là, l'accès aux données est très important , Cela provoque une augmentation soudaine de la pression de la base de données arrière , Il va même raccrocher ,Ce phénomène est appelé avalanche de cache. C'est différent de la rupture du cache , La rupture du cache se produit lorsque la concurrence est particulièrement forte ,Un point chaud key Expire soudainement, Et les avalanches cachées sont énormes key Expire en même temps, Ce n'est donc pas du tout une échelle .
Solutions
Les avalanches de cache et les ruptures de cache sont similaires , Il est donc possible d'utiliser la méthode des données de Hotspot qui n'expirent jamais , Pour réduire la masse key Expire en même temps. Encore une fois, c'est pour key Définir un délai d'expiration aléatoire,Éviter key Expiration centralisée.
边栏推荐
- Openmldb meetup No.4 meeting minutes
- Getting started with the go language is simple: go handles XML files
- HMS core audio editing service 3D audio technology helps create an immersive auditory feast
- A new journey of the smart court, paperless office, escorting the green trial of the smart court
- 1175. prime number arrangement: application of multiplication principle
- Shutter start from zero 006 radio switches and checkboxes
- 品达通用权限系统(Day 7~Day 8)
- Beego development blog system learning (II)
- pyqt5界面的布局与资源文件的载入
- 会议预告 | 华为 2012 实验室全球软件技术峰会-欧洲分会场
猜你喜欢

Biological network analysis using deep learning

Joplin implements style changes

Yolov5 export the pit encountered by onnx

Lichuang EDA learning notes 10 common connector component identification and passive buzzer driving circuit

品达通用权限系统(Day 7~Day 8)

A high precision positioning approach for category support components with multiscale difference reading notes

A Generic Deep-Learning-Based Approach for Automated Surface Inspection-论文阅读笔记

New function of SuperMap iserver11i -- release and use of legend
![[cloud native | kubernetes] in depth understanding of deployment (VIII)](/img/88/4eddb8e6535a12541867b027b109a1.png)
[cloud native | kubernetes] in depth understanding of deployment (VIII)

List集合
随机推荐
药店管理系统
[leetcode] 15. Sum of three numbers
Introduction to new features of ES6
pyqt5界面的布局与资源文件的载入
List collection
Typescript readonlyarray (read only array type) details
Introduction to sub source code updating: mid May: uniques NFT module and nomination pool
When building the second website with pagoda, the website always reports an error: no input file specified
腾讯二面:@Bean 与 @Component 用在同一个类上,会怎么样?
Edusoho enterprise training version intranet only deployment tutorial (to solve the problems of player, upload and background jam)
Swagger2 automatically generates API documents
Statistics on the number of closed Islands
Essay: Research on smart home scheme
会议预告 | 华为 2012 实验室全球软件技术峰会-欧洲分会场
AGCO AI frontier promotion (6.30)
Pharmacy management system
Redis的基本操作的命令
Inner join and outer join of MySQL tables
1020. 飞地的数量
Joplin implements style changes