redis和postgresql一起开发,面对高并发写请求如何更新
ringa_lee
ringa_lee 2017-04-22 09:00:03
0
1
735

是用代码分别更新到redis和postgresql数据库(谁先谁后)还是只更新到redis,然后通过队列异步更新到数据库?如果有详细的做法更好,谢谢!PS:有人谁用过redis-fdw吗?

ringa_lee
ringa_lee

ringa_lee

répondre à tous(1)
左手右手慢动作

Si Redis et la base de données sont mis à jour en même temps, il s'agit en fait d'un problème de stratégie de mise à jour du cache. Laissez-moi vous donner mon avis, considérons-le comme un point de départ :
Deux stratégies sont couramment utilisées pour ce type de problème :
1. Mise à jour lors de l'écriture dans le cache : cela signifie que le cache est mis à jour une fois la base de données écrite avec succès. Cette stratégie peut réduire la pénétration, mais elle peut facilement entraîner des incohérences dans les données.
2. Mise à jour lors de la lecture du cache : cela signifie que le cache n'est supprimé qu'une fois la base de données écrite avec succès et que le cache est reconstruit lorsqu'il doit être lu. La cohérence de cette stratégie peut être garantie, mais la pénétration est importante et peut facilement faire pression sur la DB.

(Après avoir cherché, j'ai découvert qu'il existe de nombreux modes de mise à jour du cache. Les deux mentionnés ci-dessus sont exactement ce que je connais
1.Écriture écrite Écrivez immédiatement
2.Write-behind Écrivez d'abord le cache, placez l'événement d'écriture dans la file d'attente, puis écrivez dans la base de données
3. Politiques d'expulsion La politique de mise à jour du cache supprime directement les données du cache et attend qu'elles soient mises à jour lors de leur prochaine lecture.
4. Réplication
5. Peer-To-Peer (P2P)
)

Si vous mettez uniquement à jour Redis, puis que vous le mettez à jour de manière asynchrone dans la base de données, il sera difficile de reconstruire les données une fois le cache en panne. Si vos données n'ont pas besoin d'être strictement exactes mais doivent être accessibles rapidement, vous pouvez le faire. pensez à jouer de cette façon, comme le nombre de visiteurs de la page.

redis-fdw n'a jamais été utilisé.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal