Automatická kontrola klíčů v redis databázi

Dnes jsem vytvářel skript, který mimo jiné měl zkontrolovat, případně doplnit existenci klíčů v Redis noSQL databázi. Klient potřeboval měl zkontrolovat klíče, pokud nebyly nastaveny nastavit, bylo-li jich více než jeden, pak vypsat chybu. Klíčů bylo několik, tak jsem si využil schopnost bashe vytvářet pole.

## set up redis tokens
QUEUES=('first.lock' 'first.lock.done' 'second.lock' 'second.lock.done');

for queue_name in "${QUEUES[@]}"; do
        TOKEN_COUNT=`redis-cli lrange $queue_name 0 -1 | grep -c 'token'`;    
        if [ $TOKEN_COUNT -eq 0 ]; then
                echo "$queue_name token count is 0, adding token!";
redis-cli lpush $queue_name 1
        fi;

        if [ $TOKEN_COUNT -eq 1 ]; then
                echo "$queue_name token count is ok";
        fi;

        if [ $TOKEN_COUNT -gt 1 ]; then
                echo "$queue_name token count is > 1!"; exit;
        fi;
done

Pokud by bylo potřeba získávat klíče dynamicky, dal by se pro QUEUES použít tento zápis.

QUEUES=(`redis-cli KEYS "*" | grep lock`);

 

Komentování je uzavřeno.