tmuxのコピーモード

サーバに入った時ぐらいにしかtmux、screen使っていなかったので、正直コピーモードの使い方があやふや。

とりあえず、エスケープタイムアウトまでの時間の設定と、コピーモード中の動きをviチックに変更しておく。

# エスケープタイムアウトまでの時間
set -s escape-time 0
# コピーモード中の動きをviチックに
set-window-option -g mode-keys vi

とりあえずの操作方法。

  • コピーモードに入る
< C-[ > + b
  • 範囲選択の始点選択
Space
  • 範囲選択終了
Enter
  • 貼り付け
< C-] >

まとめ


コピーの時、キーボードから手を離さなくてよくなったかもしれない。

Redis

Redis


インメモリデータベース

メモリ内で処理をするので、高速で処理ができる。
永続化のために特定のタイミングでDiskに書き込む。

とりあえずインストール(mac)
 $ brew install redis
RedisServerの立ち上げ
  $ redis-server 
Redisクライアントの立ち上げ
  $ redis-cli

立ち上げると

  redis 127.0.0.1:6379>

のようにクライアントの操作モードに変わる。

クライアントの操作


クライアントの終了
> exit
サーバに停止リクエストを送る
> shutdown    
RedisServer の 切り替え。(0〜10くらいまであるっぽい)
 > select 0(対象サーバの番号)  
 OK

正常に変更できた場合はOKが表示される。

バックグラウンドでサーバにメモリ内のデータを保存する。
> bgsave

正常に保存できた際は下記のようにサーバー側に表示される。

Background saving started by pid 4341
DB saved on disk
Background saving terminated with <u>success</u>

データの操作


単純なデータ型での登録

KVSなのでkeyとValueで登録する模様。

> set (key) (value)

複数の場合

> set (key) (value) (key) (value) ...
呼び出し
> get (key)

複数の場合

> get (key) (key) ...
すべてのkeyの一覧を取得する
> keys *
1) "email"
2) "age"
3) "name"
4) "fuga"

ワイルドカードを使用して下記のように絞ることができる。

> keys *e*
1) "email"
2) "age"
3) "name"

上記はeを含むkeyの一覧を取得する例

keyの存在の確認
> exists (key)
(integer) 1

存在する場合は1、存在しない場合0

keyの名前を変える
> rename (変更前key) (変更後key)
OK
指定秒数後にKeyValueを削除する
> expire (key) (指定秒数)

指定秒数後に取得してみる。

> get (key)
(nil)

nil値がかえってくる。

つづく