調査 #121
Tatsuya ISHIGAKI さんが約1ヶ月前に更新
Docker 勉強中に、サービスの例として使用されていた **Redis**
自分で使用したことないので、少し調査
## 参考Web
- [公式] [Redis](https://redis.io/)
- [GitHub] [redis/redis](https://github.com/redis/redis)
- [Qiita] [初心者による初心者のためのRedis解説](https://qiita.com/keinko/items/60c844bcf329bd3f4af8)
- [IBM] [Redisとは](https://www.ibm.com/jp-ja/think/topics/redis)
- [DeigNET] [Redisとは](https://www.designet.co.jp/faq/term/?id=UmVkaXM)
- [Zenn] [Redisの基本データ型とコマンド](http://zenn.dev/sdb_blog/articles/sdfasdcbaf1298sdf)
- [Qiita] [redis-cliでよく使うコマンド20選](https://qiita.com/hatsu/items/a52817364160e0b6bb60)
## Redis 概要
- NoSQL型のDB
- キーバリュー型のDB
- インメモリDB
- `redis` というパッケージでインストール
- サービスは `redis-server` で起動
- サービスへは `redis-cli` というクライアントでアクセス
- `redis-cli` で接続後の命令例 (`redis:6379> ` は `redis-cli` のプロンプト)
```
redis:6379> set age 42 # キー "age", 値 "42" を登録
OK
redis:6379> set name smith # キー "name", 値 "smith" を登録
OK
redis:6379> get age # キー "age" の値を取得
"42"
redis:6379> keys * # パターンでキーを一覧表示
1) "age"
2) "name"
```
## Redis 追加情報
- データ型
- 主なデータ型
- String
- List
- Hash
- Set
- Sorted Set
- データ型の基本は文字列 (String) で、数値も文字列で保持して利用する
- また、バイナリデータも文字列型として保持、利用する (画像なども)
- redis cluster という仕組みでの分散保持、併せてマスタースレーブ型での自動フェイルオーバーも利用可能
- List型のコマンドには `LPOP` `RPOP` `LPUSH` `RPUSH` があり、スタック・キューとして使える