Memo/Linux/redis

https://dexlab.net:443/pukiwiki/index.php?Memo/Linux/redis
 

redis: キャッシュエンジン

  • Redis
    • インメモリ型KVS(Key Value Store)
    • memcacheとよく比較される。
    • データのパーティションが可能。db0,db1,...
    • 定期的にデータをディスクに書く事で、永続化
    • 複雑なデータ形式のサポート
    • RDBとの違い
      • 高速なread/write
      • 容量の上限が小さい。メモリ割り当て可能な部分のみ。
      • クラッシュセーフではない。あくまで失われても良いデータのキャッシュとして使う

flushdb/flushall: 削除

  • FLUSHDB – Redis -nで指定したDBだけ削除
    redis-cli -h localhost -p 6379 -n 0 flushdb 
    
    # ncを使う場合
    (echo -e "select 0"; sleep 1; echo "flushdb"; sleep 1) | nc localhost 6379
  • FLUSHALL – Redis 全DB削除。-n 0でDB指定してもエラーは出ないが、全DBが消える
    redis-cli -h localhost -p 6379 flushall

CLI

  • redis-cli: CentOS 7 redis 3.2.12
    sudo yum install redis
    
    # ping/pong
    redis-cli -h localhost -p 6379 ping
    PONG
  • nc(netcat)でも代用可能
    • 成功の場合は"+"、失敗の場合は"-"が付く。失敗してもexit codeは0のまま。
    • RESP Errors
      (echo ping;sleep 1) | nc localhost 6379
      +PONG
  • DB一覧
    redis-cli -h localhost -p 6379 info | grep ^db
    
    db0:keys=101,expires=360,avg_ttl=12345678
    
    (echo -e "info";sleep 1) | nc localhost  6379 | grep ^db
    
    db0:keys=101,expires=360,avg_ttl=12345678
  • DBサイズ。-nでDB指定
    redis-cli -h localhost -n 0 dbsize
    (integer) 101
    
    (echo -e "select 0"; sleep 1; echo "dbsize"; sleep 1) |
     nc localhost 6379
    +OK
    :101

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-12-20 (木) 17:02:24 (32d)