只使用Redis一次的问题

虽然我非常想使用Redis的有序集合(zset),但我不想为此特地让Redis常驻运行,也不需要将数据持久化存储。
而且考虑到LevelDB或SQLite等替代方案都似乎不太合适。
所以我决定在需要的时候启动Redis服务器,并通过套接字进行连接。

#!/bin/bash

set -ue

# バックグラウンドでredis起動
cat <<EOD | redis-server -
daemonize yes
pidfile redis.pid

port 0
bind 127.0.0.1

logfile redis.log
loglevel verbose

unixsocket redis.sock
unixsocketperm 700

timeout 0
databases 16
EOD
# 後始末
trap 'kill $(cat redis.pid)' EXIT

# 立ち上がりを待機
while test ! -S redis.sock; do sleep 1; done

# socket 経由で繋いでみる
redis-cli -s redis.sock <<EOD
set hoge 123
get hoge
EOD

当然是用Redis,对吧。

广告
将在 10 秒后关闭
bannerAds