Делал ли локи в Redis

Python Middle Без компании
Делал ли локи в Redis
Ответы
Да, работал с блокировками в Redis. Чаще всего использовал `SET` с параметрами `NX` (Not eXists) и `PX` (expire time in milliseconds) для реализации distributed lock. Пример простой блокировки: ``` import redis r = redis.Redis() # Попытка захватить блокировку lock_acquired = r.set("my_lock", "locked", nx=True, px=10000) if lock_acquired: try: # Критическая секция print("Lock acquired, doing work...") finally: # Освобождение блокировки r.delete("my_lock") else: print("Failed to acquire lock") ``` Важные моменты: - Всегда устанавливайте TTL для блокировки (PX), чтобы избежать deadlock - Используйте случайное значение вместо "locked" и проверяйте его при удалении для безопасности - Для более сложных сценариев можно использовать Redlock алгоритм или библиотеки вроде `redlock-py`