redisを使ってみた


起動

コンテナ起動
docker run \
 --name redis \
 -p 6379:6379 \
 redis:alpine \
 redis-server --appendonly yes
接続ツールインストール(ubuntuの場合)
apt install -y redis-tools
# もしくはdockerで接続する場合
docker run -it --rm --link redis:kvs redis:alpine \
 redis-cli -h kvs
redis-cli
$ redis-cli
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> set test abc
OK
127.0.0.1:6379> set room01 1000
OK
127.0.0.1:6379> keys *
1) "room01"
2) "test"
127.0.0.1:6379> get room01
"1000"

一旦停止して再開してみる

docker stop redis

docker start redis
コンテナ起動
$ redis-cli
127.0.0.1:6379> keys *
1) "room01"
2) "test"
127.0.0.1:6379> get room01
"1000"

volume

-v $(pwd)/data:/data を追加

run.sh
docker run \
 --name redis \
 -p 6379:6379 \
 -v $(pwd)/data:/data \
 redis:alpine \
 redis-server --appendonly yes

phpから使ってみる

git clone https://github.com/nrk/predis
touch a.php
a.php
<?php
require 'predis/autoload.php';
Predis\Autoloader::register();

$client = new Predis\Client();
$client->set('foo', 'bar');
$value = $client->get('foo');

echo $value;

bar が表示されることを確認。

冗長化(今度)