memcachedとRedis
インメモリデータベース
起動コマンド
>Linuxの場合
memcached -u nobody -m 64 -p 11211 -d
memcached -u nobody -m 64 -p 11211 -l 127.0.0.1 -d
>Windowsの場合
memcached.exe -d install サービス登録
memcached.exe -d start
memcached.exe -d stop
memcached.exe -d uninstall
net start "memcached Server"
net stop "memcached Server"
基本コマンド
telnet localhost 11211
stats
stats items
stats slabs
コマンド <key> <flag> <expires> <byte>
flag 0:圧縮なし、1:圧縮あり
expires 0:無期限
add key 0 0 X
set key 0 0 X
replace key 0 0 X
append key 0 0 X 最後から追加
prepend key 0 0 X 最初から追加
get key
delete key
set num 0 0 1
8
incr num 1
9
decr num 3
6
flush_all
quit
Ubuntuにインストール
sudo apt-get install redis-server
Upgrade
redis-server --version
sudo add-apt-repository ppa:chris-lea/redis-server
sudo apt-get update
sudo apt-get install redis-server
基本コマンド
$ redis-server サーバの起動
$ redis-cli クライアントの起動と終了
> exit
> shutdown サーバの停止
select n データベースの選択
bgsave データベースの保存
keys *
keys *m*
exists key あり:1,なし:0
randomkey
type key
flushdb カレントのキーを全て破棄
expire key seconds # Set timeout
ttl key # Get the time to live
persist key # Remove the expiration
★データ型(5種類)
String
set key value
mset key value key value
get key
mget key key
rename key1 key2
del key
incr key
incrby key 3
decr key
decrby key 3
List 順序あり
時系列的なデータ
(l/r)push key value
(l/r)pop key
lrange key 0 5
lrange key 0 -1 一覧表示
lindex key 3
llen key
ltrim key 0 2
Set 順序なし、重複不可
タグ、ソーシャルグラフ
sadd key value
srem key value
smembers key
sunion key1 key2 和集合
sinter key1 key2 積集合
sdiff key1 key2 差集合
sunionstore key key1 key2
Sorted set 個々の要素にスコア付き
ランキング
zadd key score value
zrem key value
zrange key 0 -1
zrevrange key 0 -1
zrank key value
zrevrank key value
Hash 連想配列
hset key key1 value1
hmset key key1 value1 key2 value2
hget key key1
hmget key key1 key2
hlen key
hkeys key
hvals key
hgetall key
★ソート(List、Set、Sorted set)
sort key
sort key desc
sort key desc limit 0 3
sort key alpha
sort key alpha desc
★Transaction
multi
...
exec / discard
Redis基于Reactor模式
実例1
実例2