Faites quelque chose comme les transactions Redis en Python

test_transaction.py


# -*- coding: utf-8 -*-
from __future__ import absolute_import
from __future__ import unicode_literals

import redis
import time
from multiprocessing import Process

r = redis.StrictRedis(host='localhost', port=6379, db=0)
key = "abc"

def do(name, value):
    with r.pipeline() as pipe:
        try:
            pipe.watch(key)
            pipe.multi()

            pipe.set(key, value)
            time.sleep(1)

            pipe.execute()

            print "{} Success!!!".format(name)
        except redis.exceptions.WatchError:
            print "{} WatchError!!!".format(name)

p1 = Process(target=do, args=("p1", 1))
p1.start()
p2 = Process(target=do, args=("p2", 2))
p2.start()

time.sleep(3) #Attendez que le processus soit terminé
print r.get(key)

Résultat de l'exécution: % python test_redis.py p2 WatchError!!! p1 Success!!! 1

Il semble que vous pouvez annuler l'erreur. Ce n'est pas aussi bon à utiliser que RDBS, donc je sens que je peux le faire un peu.

Recommended Posts

Faites quelque chose comme les transactions Redis en Python
Quelque chose comme JS setTimeout en python
Quelque chose comme tail -f en Python
Je veux faire quelque chose comme sort uniq en Python
Faites quelque chose comme un interpréteur Python avec Visual Studio Code
Essayez quelque chose comme Python for-else dans Ruby
Je voulais faire quelque chose comme la pipe d'Elixir en Python
Implémenter Redis Mutex en Python
Doublure de pipe Redis en Python
Je veux faire quelque chose avec Python à la fin
[Python] Comment faire PCA avec Python
Faites quelque chose orienté objet dans le langage GO
Développez un dictionnaire imbriqué Python pour faire quelque chose comme MultiIndex de Pandas
Quelque chose comme 40-32 / 2 = 4!
Faites une visite Euler non récursive en Python
Comment faire R chartr () en Python
Trouver des fichiers comme Linux Find en Python
Fabriquez-vous quelque chose comme une fusée?
# J'ai essayé quelque chose comme Vlookup avec Python # 2
Je veux améliorer l'efficacité avec Python même dans un système expérimental (3) Je veux faire quelque chose comme Excel avec Pandas
Quadtree en Python --2
Python en optimisation
CURL en Python
Convertir les séquences d'échappement Unicode comme \ u en Python
Géocodage en python
SendKeys en Python
Méta-analyse en Python
Unittest en Python
Implémentation minimale d'Union Find en Python
Époque en Python
Discord en Python
Allemand en Python
DCI en Python
tri rapide en python
nCr en python
N-Gram en Python
Programmation avec Python
Plink en Python
Constante en Python
FizzBuzz en Python
Sqlite en Python
Étape AIC en Python
LINE-Bot [0] en Python
CSV en Python
Assemblage inversé avec Python
Réflexion en Python
Constante en Python
nCr en Python.
format en python
Scons en Python 3
Que faire pour obtenir une feuille de calcul Google en Python
Puyopuyo en python
python dans virtualenv
PPAP en Python
L'API Redis Shortest Introduction (3) en 5 minutes même en Python
Quad-tree en Python
Réflexion en Python
Chimie avec Python
Hashable en Python
DirectLiNGAM en Python