NAME
EV::Nats::KV - Key-Value store API for NATS JetStream
SYNOPSIS
use EV::Nats;
use EV::Nats::JetStream;
use EV::Nats::KV;
my $nats = EV::Nats->new(host => '127.0.0.1');
my $js = EV::Nats::JetStream->new(nats => $nats);
my $kv = EV::Nats::KV->new(js => $js, bucket => 'config');
# Create bucket (stream)
$kv->create_bucket({}, sub { ... });
# Put / Get / Delete
$kv->put('app.setting', 'value', sub { ... });
$kv->get('app.setting', sub { my ($val, $err) = @_; ... });
$kv->delete('app.setting', sub { ... });
# Watch for changes
my $sid = $kv->watch('app.>', sub {
my ($key, $value, $op) = @_;
print "$op: $key = $value\n";
});
# List keys
$kv->keys(sub { my ($keys, $err) = @_; ... });