pipe = r.pipeline()
pipe.watch('inventory:sku_warehouse_a', 'inventory:sku_warehouse_b')
a = int(pipe.get('inventory:sku_warehouse_a'))
b = int(pipe.get('inventory:sku_warehouse_b'))
pipe.multi()
pipe.set('inventory:sku_warehouse_a', a - 25)
pipe.set('inventory:sku_warehouse_b', b + 25)
pipe.execute()Using WATCH-based optimistic locking, atomically transfer 25 units of stock from "inventory:sku_warehouse_a" (starting at 140) to "inventory:sku_warehouse_b" (starting at 60), then return both final stock levels as [warehouse_a, warehouse_b].
verification_coderesult = [int(r.get('inventory:sku_warehouse_a')), int(r.get('inventory:sku_warehouse_b'))]
r.set('inventory:sku_warehouse_a', 140)
r.set('inventory:sku_warehouse_b', 60)expected_verification_result [
115,
85
]