From 2b993e11a49b710c01cd80b7dfd5db47a22c61a1 Mon Sep 17 00:00:00 2001 From: Kharec Date: Mon, 22 Dec 2025 15:03:43 +0100 Subject: [PATCH] feat: create setnx() --- lib/Urupam/DB.pm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/lib/Urupam/DB.pm b/lib/Urupam/DB.pm index 6252f07..b234ec7 100644 --- a/lib/Urupam/DB.pm +++ b/lib/Urupam/DB.pm @@ -62,4 +62,22 @@ sub exists { return $promise; } +sub setnx { + my ( $self, $key, $value ) = @_; + my $promise = Mojo::Promise->new; + $self->redis->setnx( + $key => $value, + sub { + my ( $redis, $err, $result ) = @_; + if ($err) { + $promise->reject($err); + } + else { + $promise->resolve( $result ? 1 : 0 ); + } + } + ); + return $promise; +} + 1;