redis
repl
$ redis-cli
:set hints で、hintがでるようになる。 :set....で特殊コマンド?みたいなもの?
値の設定. 以下の構文
5つのデータ型(string, hash, set, sorted set, list)で、コマンドがある。
string
set key value {Ex seconds} {px milliseconds} {NX|MX}
EX secondsは expireの秒, PXはexpireのミリ秒 (細かく指定したい時?) NX(set if not exists), XX(set if exists)
参考:
mset, mgetで、multi...
/icons/hr.icon
install
ubuntu16のバージョン古い。
redis-stable.tar.gzを落として設定する。
redis.conf
daemon化。
redisがdumpする場所
/etc/systemd/system/redis.service
Service: stopを踏襲せず
clientは、downloadした場所 ./src/redis-cli で起動する。 pathをどう通すかはあとで。
systemd を使って、serviceをstartするようにしておく。 /icons/hr.icon
settings
注意
bind は localhostのみに。
補足に bind 127.0.0.1→#bind 127.0.0.1 とあるので、気になりました。
bind は redis に接続できるサーバのIP(ローカルIP)を指定するものです。
コメントアウトしてしまうと全解放となるので、もしネット公開されていれば
どこのサーバからでも接続でき、データ取得・更新、停止・再起動までできてしまいます。
危険です。
mysqlも同じ。 defaultで動かないな、、、みたいにして修正して放置すると... メモリの確保
redis-serverを立ち上げる際に、こういう警告がでる。
WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1'
overcommit_memoryとは、、、たぶん、diskなんかに保存する際に必要な追加のメモリを確保する?みたいなこと。これでfailした際のバックアップが保証されるわけではないのかもだけど、少なくとも必要条件ではある?
Can't save in background: fork: Cannot allocate memory
warning
/icons/hr.icon
peformance
いろいろ書いてある
なぜ unix socketを使わないのか? 特に明確な理由はない? 単に 別マシンとして使うことがおおいから?
設定自体は以下で説明されている。 25% faster と。それが意味を持たないなら、トライしなくてもよい。