sql >> Database >  >> RDS >> PostgreSQL

Django cache.set() veroorzaakt dubbele sleutelfout

Dat is een typische race. Het controleert of de ingevoerde sleutel bestaat; als dat niet het geval is, doet het een insert, maar iemand anders kan de sleutel tussen de telling en de insert plaatsen. Transacties voorkomen dit niet.

De code lijkt dit te verwachten en te proberen ermee om te gaan, maar toen ik naar de code keek om deze zaak af te handelen, kon ik meteen zien dat deze kapot was. Hier gerapporteerd:http://code.djangoproject.com/ticket/11569

Ik raad je ten zeerste aan om bij de geheugencache-backend te blijven.



  1. Gids voor het ontwerpen van database voor voorraadbeheersysteem in MySQL

  2. Een alias gebruiken in SQL-berekeningen

  3. Oracle 9i Developer Suite 2.0 installeren op Windows

  4. De stapel samenstellen - Docker-implementatie van MySQL-containers vereenvoudigen