Intereting Posts
Как остановить панель поиска от открытия новой вкладки? Изменение размера / Обрезание изображения для настройки в макете PHP Неустранимая ошибка: класс «Slim» не найден Скопировать файл PHP на другой сервер; Доступ к файловой системе на другом сервере Абстрактные свойства PHP Кэш в памяти с истечением LRU Ошибка FPDF: некоторые данные уже выведены, невозможно отправить PDF Флажок, чтобы действовать как переключатель, сначала установите четыре или последние четыре флажка, но не оба – javascript? Присоединиться к таблице в Symfony 2 Лучшая альтернатива для password_hash в PHP 5.3.27? MongoDB GridFS хранит несколько размеров изображения или использует на лету изменение размера Объект PHP Array stdClass – значение эха Как получить алгоритм подписи из сертификата? Убить Active Session, если пользователь заблокирован Как вставить строку текста после абзацев X фрагмента html?

Можно ли проверить, существует ли установленный ключ Redis, и если он не существует, установите его, если он существует, а затем выйдите, все как транзакция

Я хочу сделать это как транзакцию, потому что этот ключ будет служить «блокировкой» для последующих действий. Что делать, если это произойдет:

  1. Проверьте, существует ли
  2. Устанавливать его не существует
  3. Кто-то еще проверяет его, пока я его устанавливаю, не существует
  4. Установите его, потому что он не существует, а затем выполняйте мои действия
  5. Второй человек устанавливает его одновременно и делает действия, когда им не разрешается.