Récemment, lors de la normalisation de l'utilisation du cache de plate-forme, nous avons constaté que de nombreuses entreprises utilisent des verrous distribués Reid, mais il existe certains problèmes détaillés courants. Sur la base de ces problèmes, cet article tentera de résumer les problèmes courants liés aux verrous distribués.
S'il s'agit d'un environnement autonome, pour des problèmes de concurrence, vous pouvez directement utiliser le synchronisé ou le Lock fourni par Java pour l'implémenter. environnement multi-processus, vous devez alors compter sur un système tiers qui fournit le mécanisme de verrouillage. (Apprentissage recommandé : Tutoriel vidéo Redis)
Redis, en tant que système middleware de mise en cache, peut fournir ce type de mécanisme de verrouillage distribué (cluster). Son essence est l'occupation. une fosse dans Redis, lorsque d'autres processus veulent occuper la fosse et constatent qu'elle a été occupée, attendez et réessayez plus tard.
Nous l'utilisons généralement comme ceci en Java :
boolean result = jedis.setnx("lock-key",String.valueOf(System.currentTimeMillis()))== 1L; if (result) { try { // do something } finally { jedis.del("lock-key"); } }
Pour plus d'articles techniques liés à Redis, veuillez visiter Tutoriel d'introduction à l'utilisation de la base de données Redis Chronique pour apprendre !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!