Redis事务:
MULTI
、EXEC
、WATCH
、UNWATCH
等命令实现。MySQL事务:
BEGIN
、COMMIT
、ROLLBACK
等语句实现。Redis事务的优势:
MySQL事务的优势:
Redis事务类型:
MULTI
和EXEC
命令实现。WATCH
和UNWATCH
命令实现。MySQL事务类型:
BEGIN
、COMMIT
、ROLLBACK
等语句显式定义事务边界。Redis事务的应用场景:
MySQL事务的应用场景:
Redis事务遇到的问题:
MySQL事务遇到的问题:
Redis事务示例:
import redis
r = redis.Redis()
# 开启事务
pipe = r.pipeline()
try:
pipe.multi()
pipe.incr('counter')
pipe.incrby('counter', 5)
# 执行事务
pipe.execute()
except redis.WatchError:
print("Transaction failed")
MySQL事务示例:
import mysql.connector
db = mysql.connector.connect(
host="localhost",
user="user",
password="password",
database="database"
)
cursor = db.cursor()
try:
cursor.execute("BEGIN")
cursor.execute("UPDATE users SET balance = balance - 100 WHERE id = 1")
cursor.execute("UPDATE users SET balance = balance + 100 WHERE id = 2")
db.commit()
except mysql.connector.Error as err:
db.rollback()
print(f"Transaction failed: {err}")
领取专属 10元无门槛券
手把手带您无忧上云