Простая база данных + скрипт в системах Unix - лучшее решение для одновременных вызовов - PullRequest
0 голосов
/ 08 ноября 2019

В системе Unix я хочу создать сценарий, который использует очень простую «базу данных» с единой таблицей из трех столбцов: [NAME, MAX, COUNT]. ИМЯ: STRING - это ключ. MAX: INTEGER - максимальное значение для COUNT. COUNT: INTEGER начинается с нуля и будет увеличиваться скриптом.

SCRIPT вызывается с аргументом NAME. Если COUNT == MAX, сценарий немедленно прекратит работу с кодом выхода 1, в противном случае он увеличит соответствующий COUNT до (включая) значения MAX и завершится с кодом выхода 0.

Внимание: будет несколько одновременных нововведений SCRIPT, но все параллельные вызовы будут иметь разные аргументы (разные ключи).

Нет ограничений на язык / систему, используемую для реализации сценария и базы данных.

Посоветуйте, пожалуйста, лучшее / простое решение!

1 Ответ

0 голосов
/ 08 ноября 2019

Полагаю, вы можете использовать для этого практически любую СУБД. Вы просто вызываете

update mytable set mycount = mycount + 1 where name = :nameparam and mycount < mymax;

СУБД вернет количество затронутых строк, которое равно 0 или 1.

(я называю столбцы mycount и mymax, потому что count и maxзарезервированные слова в SQL.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...