Redisのいくつかの総括
3631 ワード
前记:久しぶりに帰って、最近redisを勉强して、まとめたものをみんなに分かち合いました.
Redisはメモリベースのデータストレージシステムであり、データはkey=>valueとして格納される.valueはstring,hash,list,set,sorted setなど、さまざまなデータ型をサポートします.
1.スタート
インストールチュートリアル
サービス・エンドの起動:redis-server
クライアントの起動:redis-cli
成功したかどうかを確認します.
学習チュートリアル
2.プロファイルredis.conf daemonize:デフォルトはno、yesはredis-server起動時に自動的にバックグラウンド運転方式 port:指定ポート番号 bind:ipをバインドし、ipをバインドする要求のみを受け入れ、より安全な 3.redisデータ持続化
RDB原理: Redis fork関数を使用して現在のプロセス(親)のコピー(子) をコピー親プロセスは、クライアントからのコマンドを受信して処理し続け、サブプロセスは、メモリ内のデータをハードディスク(HDD)の一時ファイル に書き込むことを開始する.サブプロセスがすべてのデータを書き込むと、古いrdbファイルがその一時ファイルに置き換えられ、このスナップショット操作が完了します.
AOF原理:
AOF永続化方式では,サーバに対する書き込み操作を記録し,サーバが再起動するとこれらのコマンドを再実行して元のデータを復元する.動作方式は,命令をファイルの末尾に絶えず追加する.
どのように選択しますか?データベースのようなデータセキュリティ性能を達成するには、2つの を同時に使用する必要があります.要求が特に高くなければ、RDB持続化 のみを用いることができる.
4.redis起動サービス /etc/init.d/redisは、以下の を加える.設定権限:chmod+x/etc/init.d/redis 起動サービスに加入 linux: sudo chkconfig redis on ubuntu: sudo sysv-rc-conf redis on
サービスに加入しているかどうかを確認します:service redis start 5.Redis 6種類の期限切れポリシー Volatile-lru:有効期限が設定されているkey のみ AllKeys-lru:lruアルゴリズムを削除するkey Volatile-random:期限切れになるkey をランダムに削除 Allkeys-random: をランダムに削除 Volatile-ttl:期限切れのkey を削除 noeviction:期限切れ Redisトランザクション
トランザクションは独立した分離であり、トランザクション内のすべてのコマンドがシーケンス化され、順番に実行されます.トランザクションは、実行中に他のクライアントから送信されたコマンドリクエストによって中断されません.
トランザクションは原子操作であり、トランザクション内のコマンドはすべて実行されるか、すべて実行されないか、ロールバックできます.
トランザクションの開始から実行までの3つのフェーズトランザクションを開始 命令入隊 実行トランザクション シーケンス番号
コマンドと説明
1
DISCARDはトランザクションをキャンセルし、トランザクションブロック内のすべてのコマンドの実行を放棄します.
2
EXECは、すべてのトランザクションブロック内のコマンドを実行します.
3
MULTIは、トランザクションブロックの開始をマークします.
4
UNWATCH WATCHコマンドによるすべてのキーの監視を解除します.
5
WATCH key [key ...] 1つ(または複数)のkeyを監視し、トランザクションが実行される前に他のコマンドで変更された場合、トランザクションは中断されます.
Redisマニュアル
Redis中国語マニュアルPHP版
Redisマニュアル
Redisコマンドリファレンス
Redis精文
キャッシュ更新キット--陳皓
『Redisシリーズ特集』の20分でRedisをすばやく知る--手差しポケット_
Redisステップ:データ持続化、安全、PHPでの使用--atwal
Redisはメモリベースのデータストレージシステムであり、データはkey=>valueとして格納される.valueはstring,hash,list,set,sorted setなど、さまざまなデータ型をサポートします.
1.スタート
インストールチュートリアル
サービス・エンドの起動:redis-server
クライアントの起動:redis-cli
成功したかどうかを確認します.
127.0.0.1:6379> PING
PONG
127.0.0.1:6379>
学習チュートリアル
2.プロファイルredis.conf
CONFIG GET * //
RDB原理:
AOF原理:
AOF永続化方式では,サーバに対する書き込み操作を記録し,サーバが再起動するとこれらのコマンドを再実行して元のデータを復元する.動作方式は,命令をファイルの末尾に絶えず追加する.
どのように選択しますか?
4.redis起動サービス
#!/bin/sh
##chkconfig: 2345 80 90
##description:auto_run
PATH=/usr/local/bin:/sbin:/usr/bin:/bin
REDISPORT=6379
EXEC=/usr/local/bin/redis-server
REDIS_CLI=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis.pid
CONF="/etc/redis.conf"
case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed"
else
echo "Starting Redis server..."
$EXEC $CONF
fi
if [ "$?"="0" ]
then
echo "Redis is running..."
fi
;;
stop)
if
[ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$REDIS_CLI -p $REDISPORT SHUTDOWN
while [ -x ${PIDFILE} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
;;
restartforce-reload)
${0} stop
${0} start
;;
*)
echo "Usage: /etc/init.d/redis {startstoprestartforce-reload}" >&2
exit 1
esac
#######
トランザクションは独立した分離であり、トランザクション内のすべてのコマンドがシーケンス化され、順番に実行されます.トランザクションは、実行中に他のクライアントから送信されたコマンドリクエストによって中断されません.
トランザクションは原子操作であり、トランザクション内のコマンドはすべて実行されるか、すべて実行されないか、ロールバックできます.
トランザクションの開始から実行までの3つのフェーズ
コマンドと説明
1
DISCARDはトランザクションをキャンセルし、トランザクションブロック内のすべてのコマンドの実行を放棄します.
2
EXECは、すべてのトランザクションブロック内のコマンドを実行します.
3
MULTIは、トランザクションブロックの開始をマークします.
4
UNWATCH WATCHコマンドによるすべてのキーの監視を解除します.
5
WATCH key [key ...] 1つ(または複数)のkeyを監視し、トランザクションが実行される前に他のコマンドで変更された場合、トランザクションは中断されます.
Redisマニュアル
Redis中国語マニュアルPHP版
Redisマニュアル
Redisコマンドリファレンス
Redis精文
キャッシュ更新キット--陳皓
『Redisシリーズ特集』の20分でRedisをすばやく知る--手差しポケット_
Redisステップ:データ持続化、安全、PHPでの使用--atwal