2018月06日04日
RedisをMacで使ってみる
NoSQLデータベースの一つRedisをMacにインストールして使ってみます。
RedisはREmote DIctionary Serverを意味しています。
今回は、homebrewでRedisをインストールしコマンドラインでデータ登録まで試してみます。
RedisをMacで使ってみる
NoSQLデータベースの一つRedisをMacにインストールして使ってみます。
RedisはREmote DIctionary Serverを意味しています。
今回は、homebrewでRedisをインストールしコマンドラインでデータ登録まで試してみます。
RedisをMacにインストール
homebrewでインストールします。
$ brew install redis
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> New Formulae
bitwarden-cli confluent-oss howard-hinnant-date libheif pygitup taskell
circleci cuba keepkey-agent mariadb@10.2 shellharden tunnel
clozure-cl density kubecfg mk-configure soundpipe vsts-cli
==> Updated Formulae
awscli ✔ distcc hadoop memcached qjackctl
imagemagick ✔ django-completion hapi-fhir-cli menhir qmmp
pyenv-virtualenv ✔ dlib haproxy midnight-commander qpid-proton
ruby-build ✔ dmtx-utils hbase mill quantlib
abcl docfx hcloud mlkit quicktype
abcm2ps dscanner heroku mmseqs2 radare2
acpica duck hopenpgp-tools monero riemann
agda dxpy hub mongo-c-driver rocksdb
angular-cli emacs hugo monit rom-tools
annie emscripten idris mp3gain rsstail
ansible etcd ii nano rubberband
ant@1.9 ethereum imagemagick@6 nanomsg rust
apache-flink exomizer immortal nanomsgxx saxon
apibuilder-cli eye-d3 influxdb nativefier sbcl
artifactory fabric iozone node sbt
asdf fantom jdupes node-build scrcpy
aws-sdk-cpp fdroidserver jenkins nss ser2net
bacula-fd fibjs jenkins-job-builder ocamlbuild sfk
bash fio jetty open-mesh shadowsocks-libev
bat flow jetty-runner open-scene-graph shellcheck
batik fn jooby-bootstrap openblas sjk
bazel folly jruby openimageio skaffold
bento4 fork-cleaner juju opentsdb skafos
bison frugal jupyter osmfilter speedtest-cli
bnd fselect kapacitor osquery sphinx-doc
buku fstar khal p11-kit sqlmap
byacc futhark kops packer sslyze
cake galen kubeless parallelstl storm
calabash gecode lcm parquet-tools strongswan
calicoctl genact lego pdns stunnel
cargo-completion ghc libcouchbase pegtl tbb
cdrdao gifski libdazzle percona-server teleport
cglm gimme libdca percona-server-mongodb tippecanoe
chaiscript git libdmtx percona-server@5.6 transcrypt
checkbashisms git-annex libedit percona-xtrabackup txr
checkstyle git-lfs libepoxy php typescript
chronograf git-town libewf php-cs-fixer uftp
cmake gitbucket libgit2 php@7.1 urh
cocoapods glm libmaa phpunit vegeta
codec2 gnome-builder libphonenumber picard-tools wartremover
collector-sidecar google-benchmark libplctag pike webpack
commandbox google-java-format libpqxx pkcs11-helper wine
compcert gopass libunistring plenv winetricks
conan goreleaser lighttpd pmd wireguard-go
conserver gosu linkerd pony-stable wireguard-tools
convox graphite2 llnode ponyc wolfssl
cromwell groonga lmod povray wtf
cython groovy log4cplus ppsspp xonsh
dartsim groovysdk logcheck pre-commit xtensor
dependency-check gssh lsyncd presto youtube-dl
dfmt gtk-mac-integration macvim proj
dict h2o mame pstoedit
digdag hadolint mariadb pygobject3
==> Deleted Formulae
ecj
==> Downloading https://homebrew.bintray.com/bottles/redis-4.0.9.sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring redis-4.0.9.sierra.bottle.tar.gz
==> Caveats
To have launchd start redis now and restart at login:
brew services start redis
Or, if you don't want/need a background service you can just run:
redis-server /usr/local/etc/redis.conf
==> Summary
/usr/local/Cellar/redis/4.0.9: 13 files, 2.8MB
redisの4.0.9がインストールされました。
バージョンを確認
$ redis-server -v
Redis server v=4.0.9 sha=00000000:0 malloc=libc bits=64 build=c49f4faf7c3c647a
Redisを起動
$ redis-server
81361:C 04 Jun 02:05:11.919 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
81361:C 04 Jun 02:05:11.920 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=81361, just started
81361:C 04 Jun 02:05:11.920 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
81361:M 04 Jun 02:05:11.921 * Increased maximum number of open files to 10032 (it was originally set to 256).
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 4.0.9 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 81361
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'
81361:M 04 Jun 02:05:11.925 # Server initialized
81361:M 04 Jun 02:05:11.925 * Ready to accept connections
Redisが起動しポート番号などが表示されています。
Redisを停止
redis serverに接続するCLIのredis-cliを使って停止します。
$ redis-cli shutdown
redis-cliを起動した状態でshutdownでもOK
$ redis-cli
127.0.0.1:6379> shutdown
keyとvalueを指定してデータを登録してみる
setにキーと値を指定してデータを登録します。
getでキーを指定して登録した値を取得します。
$ redis-cli
127.0.0.1:6379> set atotok hoge1
OK
127.0.0.1:6379> get atotok
"hoge1"
127.0.0.1:6379> set atotok hoge2
OK
127.0.0.1:6379> get atotok
"hoge2"
redis server停止して再起動したあとも値は取得できます。
127.0.0.1:6379> shutdown
not connected> get atotok
"hoge2"
チャットボットを作成するLitaを試してみようとしたら、LitaはRedisを使っているのでRedisをインストールしてみました。