Close icon
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をインストールしてみました。



アトトックラボとは

株式会社アトトックメンバー が技術の話、デザインの話、キャラクターの話、ときどき脱線してガジェットの話やライフハックの話など好きなことを書いています。


連載記事


最近の記事


タグ