121 lines
3.3 KiB
Ruby
Executable File
121 lines
3.3 KiB
Ruby
Executable File
Name : keydb
|
|
Version : 5.3.3
|
|
Release : 1%{?dist}
|
|
Group : Unspecified
|
|
License : BSD
|
|
Packager : EQ Alpha Technology
|
|
|
|
URL : https://keydb.dev
|
|
Summary : A persistent key-value database
|
|
|
|
|
|
Requires: /bin/awk
|
|
Requires: logrotate
|
|
Requires(pre): shadow-utils
|
|
Requires(post): systemd
|
|
Requires(preun): systemd
|
|
Requires(postun): systemd
|
|
Requires(post): chkconfig
|
|
Requires(preun): chkconfig
|
|
Requires(preun): initscripts
|
|
Requires(postun): initscripts
|
|
|
|
# scripts
|
|
|
|
#preinstall scriptlet (using /bin/sh):
|
|
%pre
|
|
getent group keydb &> /dev/null || \
|
|
groupadd -r keydb &> /dev/null
|
|
getent passwd keydb &> /dev/null || \
|
|
useradd -r -g keydb -d /var/lib/keydb -s /sbin/nologin \
|
|
-c 'KeyDB Database Server' keydb &> /dev/null
|
|
exit 0
|
|
|
|
#postinstall scriptlet (using /bin/sh):
|
|
%post
|
|
if [ $1 -eq 1 ] ; then
|
|
# Initial installation
|
|
systemctl preset keydb.service >/dev/null 2>&1 || :
|
|
fi
|
|
|
|
|
|
if [ $1 -eq 1 ] ; then
|
|
# Initial installation
|
|
systemctl preset keydb-sentinel.service >/dev/null 2>&1 || :
|
|
fi
|
|
|
|
chown -R keydb:keydb /etc/keydb
|
|
chown -R keydb:keydb /var/log/keydb
|
|
chown -R keydb:keydb /var/lib/keydb
|
|
chown -R keydb:keydb /usr/libexec/keydb-shutdown
|
|
|
|
#preuninstall scriptlet (using /bin/sh):
|
|
%preun
|
|
if [ $1 -eq 0 ] ; then
|
|
# Package removal, not upgrade
|
|
systemctl --no-reload disable keydb.service > /dev/null 2>&1 || :
|
|
systemctl stop keydb.service > /dev/null 2>&1 || :
|
|
fi
|
|
|
|
|
|
if [ $1 -eq 0 ] ; then
|
|
# Package removal, not upgrade
|
|
systemctl --no-reload disable keydb-sentinel.service > /dev/null 2>&1 || :
|
|
systemctl stop keydb-sentinel.service > /dev/null 2>&1 || :
|
|
fi
|
|
|
|
#postuninstall scriptlet (using /bin/sh):
|
|
%postun
|
|
systemctl daemon-reload >/dev/null 2>&1 || :
|
|
if [ $1 -ge 1 ] ; then
|
|
# Package upgrade, not uninstall
|
|
systemctl try-restart keydb.service >/dev/null 2>&1 || :
|
|
fi
|
|
|
|
|
|
systemctl daemon-reload >/dev/null 2>&1 || :
|
|
if [ $1 -ge 1 ] ; then
|
|
# Package upgrade, not uninstall
|
|
systemctl try-restart keydb-sentinel.service >/dev/null 2>&1 || :
|
|
fi
|
|
|
|
|
|
%Description
|
|
KeyDB is an advanced key-value store. It is often referred to as a data
|
|
structure server since keys can contain strings, hashes, lists, sets and
|
|
sorted sets.
|
|
|
|
You can run atomic operations on these types, like appending to a string;
|
|
incrementing the value in a hash; pushing to a list; computing set
|
|
intersection, union and difference; or getting the member with highest
|
|
ranking in a sorted set.
|
|
|
|
In order to achieve its outstanding performance, KeyDB works with an
|
|
in-memory dataset. Depending on your use case, you can persist it either
|
|
by dumping the dataset to disk every once in a while, or by appending
|
|
each command to a log.
|
|
|
|
KeyDB also supports typical master-replica setups, active replica setups
|
|
and multi master setups.
|
|
|
|
Other features include Transactions, Pub/Sub, Lua scripting, Keys with a
|
|
limited time-to-live, and configuration settings to make KeyDB behave like
|
|
a cache.
|
|
|
|
You can use KeyDB from most programming languages also.
|
|
|
|
%files
|
|
/etc/logrotate.d/keydb
|
|
/etc/systemd/system/keydb.service.d/limit.conf
|
|
/etc/systemd/system/keydb-sentinel.service.d/limit.conf
|
|
/usr/bin/*
|
|
/usr/lib/systemd/system/*
|
|
/usr/libexec/*
|
|
/usr/share/licenses/*
|
|
/usr/share/man/man1/*
|
|
/usr/share/man/man5/*
|
|
/var/lib/*
|
|
/var/log/*
|
|
/usr/lib64/redis/modules
|
|
%config(noreplace) /etc/keydb/*
|