1. Redis の基本部分:
1. Redis の導入とインストールは mysql よりも 10 倍以上高速です
***********************redis が適用される機会*******************
1.最新のNデータを取得する操作
2. ランキングアプリ、TOP N を取る
3. 正確な有効期限が必要なアプリケーション
4. カウンターアプリケーション
5. 一定期間内のすべてのデータ重複排除値を取得するための Uniq 操作
6. リアルタイム システム、スパム対策システム 7. Pub/Sub リアルタイム メッセージング システムを構築します
7.Pub/Sub はリアルタイムメッセージングシステムを構築します 8.キューシステムを構築します
9. キャッシング
==============================================
SET 操作は 1 秒あたり 110,000 回実行され、GET 操作は 1 秒あたり 81,000 回実行されます。サーバー構成は次のとおりです。
Linux 2.6、Xeon X3320 2.5Ghz。
stackoverflow Web サイトは Redis をキャッシュ サーバーとして使用します。
データはハードディスクにも書き込まれます。したがって、データは安全です (突然の停電を除き、サービスの再起動は dump.rdb ファイルに書き込まれます)
1. インストール:
tar zxvf redis-2.6.9.tar.gz
cd redis-2.6.9
作る
cd src && make install
2. 設定ファイルの場所を移動します (管理を容易にするため)
cd /usr/local/
mkdir -p /usr/local/redis/bin
mkdir -p /usr/local/redis/etc
mv /lamp/redis-2.6.9/redis.conf /usr/local/redis/etc
cd /lamp/redis-2.6.9/src
mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/local/redis/bin
3. 設定ファイルを変更します
vi /usr/local/redis/etc/redis.conf
1. daemonize no の no を yes に変更します (yes はバックグラウンドでの実行を意味します)
4. 開始/ランダム開始:
cd /usr/local/redis/bin
./redis-server /usr/local/redis/etc/redis.conf#redisを起動し、設定ファイルを指定します。
#vi /etc/rc.local #ランダム起動を設定します。
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
5. 起動が成功したかどうかを確認します
ps -ef redis
netstat -tunpl | grep 6379# ポートが占有されているかどうかを確認します。
6. クライアントの開始/終了
cd /usr/local/redis/bin
./redis-cli#Enter
やめる#やめる
7. Redis を閉じます
pkill redis-server#Close
./redis-cli shutdown#Close
************************************Redis セキュリティ********* ***************************
Redis のセキュリティ???(以下の 4 つの方法による)
1. ACL を使用してセキュリティを制御します。
2. 次の設定行を redis.conf 設定ファイルに追加して、redis を単一のインターフェイスにバインドします (ただし、このネットワーク カードからのデータを受け入れるだけではありません)。
バインド 127.0.0.1
3. Redis に長いパスワードを追加します (覚えておく必要はありません)
4. redis.conf 設定で認証機能を有効にします。
5.SSL プロキシ
6. 指定されたコマンドを無効にします。
***************************************** Redis 構成 ***** ** ***************************************
デーモン化 バックグラウンドで実行する必要がある場合は、この項目を [はい] に変更します
pidfile 複数の PID のアドレスを構成します。デフォルトは /var/run/redis.pid
です。bind バインド IP、設定後は、この IP からのリクエストのみを受け入れます
ポート リスニング ポート、デフォルトは 6379
timeout クライアント接続時のタイムアウト時間を秒単位で設定します
ログレベルは、デバッグ、詳細、通知、警告の 4 つのレベルに分かれています
logfile ログファイルアドレスを設定します
databases データベースの数を設定します。デフォルトのデータベースは 0
です。save redis によるデータベースミラーリングの頻度を設定します
rdbcompression イメージバックアップ時に圧縮を行うかどうか
Dbfilename イメージバックアップファイルのファイル名
データベースミラーバックアップのディレクトリファイル配置パス
Slaveof データベースを他のデータベースのスレーブ データベースとして設定します
マスターデータベース接続には Masterauth パスワードの検証が必要です
Requirepass ログイン時に必要なパスワードを設定します
Maxclients は同時に接続するクライアントの数を制限します
Maxmemory は、redis が使用できる最大メモリを設定します
Appendonly 追加のみモードをオンにします
それについては以下でご覧いただけます:
Appendfsync は、appendonly.aof ファイルの同期頻度を設定します
vm-enabled 仮想メモリのサポートを有効にするかどうか
vm-swap-file は仮想メモリのスワップ ファイル パスを設定します
vm-max-memory は、redis によって使用される最大物理メモリ サイズを設定します
vm-page-size は仮想メモリのページ サイズを設定します
vm-pages はスワップ ファイル内の総ページ数を設定します
vm-max-threads は、VM IO によって同時に使用されるスレッドの数を設定します
Glueoutputbuf は小さな出力バッファをまとめて保存します
hash-max-zipmap-entries ハッシュのクリティカル値を設定します
アクティブ再ハッシュ
********************************************** ***** ************************
5 つのデータ型: 文字列、ハッシュ、リンク リスト、セット、順序付きセット。
サポート: プッシュ/ポップ、追加/削除、交差、結合、差分、並べ替え。
redismysql
データはハードディスクにも書き込まれます。したがって、データは安全です (突然の停電を除き、サービスの再起動は dump.rdb ファイルに書き込まれます)
********************************************** ***** ************************
select num#Select library、デフォルトは 0 ライブラリ、合計 16 ライブラリ
auth liweijie#許可されたユーザーに必要なパスワード (パスワードは redis.conf で設定されたパスワードです)
flushdb#データベースをクリアします。
文字列(文字列)型:
set name lijie#キー名の値を lijie に設定します
get name#name の値を取得します。
keys *#すべてのキーをクエリします。
setnx name liweijie#キーがすでに存在する場合は、上書きを防ぐために 0 を返し、更新しません。
setex ヘアカラー 10 赤 #設定されたキー値の有効期間は 10 秒です。
setrange email 6 Lampbre.com#置換キーの値は 6 文字目から Lampbre.com に変更されます
mset name1 Li Dawei name2 Li Xiaowei #複数のキーの値を設定します。
msetnxname1 Zhang San name3 Li Si# キーが存在するかどうかを判断し、存在しない場合は設定し、設定されていない場合は 0 を返します
mget name1 name2 name3#複数のキーの値を一度に取得します。
getset name1 Tom#キー値をリセットし、古いキー値を返します。
getrange email 6 18# 6 番目から 18 番目までの文字から始まる電子メール キーの値をインターセプトします。
incr uid#は毎回1ずつインクリメントします(キー内のuidが存在しない場合は、それを設定して0から開始します。以下同様)
incrby uid 5# は毎回 5 ずつ増加します
incrby uid -5# 毎回 5 ずつ減少します
decr uid #毎回 1 ずつ減少します
decrby uid 5# は毎回 5 ずつ減少します
appendname1 @126.com#name1 の値に文字列 @126.com を追加します
strlenname1#キー name1 の値の長さを返します。
********************************************** ***** ****************************
ハッシュ (ハッシュ) タイプ:
hset user:001 name liweijie#Hash は、ユーザー user:001 の name キー値を liweijie に設定します
hset user:001 age 21#同様に、年齢キー値 21 を追加します
hsetnx user:001 age 22# 上記と同じですが、キーが存在するかどうかを確認します。存在しない場合は作成します。
hmset user:002 name liweijie2 age 26 sex 1#複数のキーの値を同時に設定します。
hget user:001 name#Hash は、ユーザー user:001 の名前キーの値を取得します。
hget user:001 age #上記と同じ。
hmget user:001 name age sex#指定された複数のキーの値を取得します。
hgetall user:001#すべてのキーの値を取得します。
hincrbyuser:001 age -8#指定された値を指定されたキーに追加します。
hexists user:001 sex#指定されたキー値が存在するかどうかを確認します。
hlen user:001#指定されたハッシュのキー/フィールドの数を返します。
hdel user:001 sex#指定された (user:001) ハッシュの指定されたフィールドまたはキー値を削除します。
hkeys user:003#ハッシュ内のすべてのフィールドまたはキー値を返します。
********************************************** ***** ************************
リスト (リンク リスト) の種類と操作 (スタックまたはキュー):
lpush mylist "world"#先頭から文字列を挿入
lpush mylist "hello"#同上
lrange mylist 0 -1#[1) "hello" 2) "world" のように 0 から最後のものまでを取得します。
マイリスト「jiejie」を#最後に挿入してください
linsert mylist before "hello" "this is linsert" #挿入位置を指定します(helloの前に挿入)。
lset mylist 0 "what"#指定された添字の値を設定および変更します。
lrem mylist 1 "hello"#値 hello を持つ要素を削除します。 (n
ltrim mylist 1 2 #テーブル内の添字 1/2 を持つ要素を予約します。
lpop mylist# 先頭要素をポップして戻ります。
rpop mylist# 末尾要素をポップして戻ります。
rpoplpush mylist mylist2 #mylist の末尾からポップし、mylist2 の先頭に挿入します。
lindex mylist 0#テーブル添字 0 の要素値を取得します。
llen mylist#テーブル要素の数を返します (count($arr ) と同等)。
********************************************** ***** ************************
設定の種類と操作(友達推薦、ブログ、タグ機能):
smembers myset#myset コレクション内のすべての要素の値を表示します。
sadd myset "hello"#値 hello を mysets コレクションに追加します
srem myset "hello"#myset コレクション内の hello という名前の要素を削除します。
spop myset #ランダムにポップアップし、mysets 内の要素を返します。
sdiff myset2 myset3#myset2 と myset3 の差を返します (myset2 に依存します)。
sdiffstore myset4 myset2 myset3#myset2 と myset3 の差を返し、myset4 に格納します。
sinter myset2 myset3#myset2 と myset3 の共通部分を返します。
sinterstore myset5 myset2 myset3#myset2 と myset3 の共通部分を返し、myset5 に格納します。
sunion myset2 myset3# 結合を検索します (重複を削除します)
sunionstore myset6 myset2 myset3# 共用体を見つけて myset6 に保存します。
smove myset2 myset3 "three"#myset2 の 3 つを myset3 に移動します。
scard myset2#要素の数を返します。
sismember myset2 "one"# 要素 one が myset2 セット内にあるかどうかを判断します (is_array() と同等)。
srandmember myset2# myset2 コレクション内の要素をランダムに返しますが、削除しません (array_rand() と同等)。
********************************************** ***** ************************
ソートセット (順序付きセット) のタイプと操作 (スコアによってソート):
zadd myzset 1 "one"#要素 1 をシーケンス 1 に追加します
zadd myzset 2 "two"# 上記と同じ。
zadd myzset 3 "two"# 更新順序が2の値に相当
zrange myzset 0 -1 withscores#すべての要素を表示し、並べ替えます (デフォルトは昇順)。
zrem myzset "two"#2 つ削除
zincrby myzset 2 "two"#two のシーケンス値に 2 を加算します
zrank myzset "two"# セット内の要素のインデックス添字値を返します。
zrevrank myzset two#要素を反転し、新しい添字値を返します。
zrevrange myzset 0 -1 withscores#逆順 (降順でのソートと同等)
zrangebyscore myzset 1 10 withscores#要素を 1 ~ 10 の順序で返します (ページ分割可能)。
zcount myzset 1 10 #要素の数を 1 ~ 10 の順序で返します。
zcard myzset#セット内のすべての要素の数を返します。
zremrangebyrank myzset 1 2#セット内の添え字 1 ~ 2 を持つ要素を削除します。
zremrangebyscore myzset 1 10#セット内の 1 から 10 までの要素を削除します。
Redis の一般的なコマンド
キー/値関連のコマンド。
キー * #すべてクエリ
keys user*#指定された
をクエリしますexists user:001# 存在するかどうかを確認します。
del name#指定されたキーを削除します。
expire addr 10#有効期限を設定します
ttl addr#Query 有効期限
select 0 #データベースを選択
move age 1#年齢をデータベース 1 に移動します。
年齢を取得 #Get
persist age# 年齢の有効期限を削除します。
randomkey#キーをランダムに返します
名前1 名前2#キーの名前を変更
type myset#キーのタイプを返します。
ping #redis 接続が生きているかどうかをテストします。
エコーランプ#ランプを出力する
select 10#データベースを選択します。
quit/exit/crtl+C#クライアントを終了します
dbsize#ライブラリ内のキーの数を返します。
サーバー関連のコマンド:
info#redis サーバーの関連情報を表示します。
config get */loglevel #すべての/指定された構成情報を返します。
flushdb#現在のライブラリ内のすべてのキー/テーブルを削除します。
flushall#すべてのデータベースのすべてのキー/テーブルを削除します
2. Redis の高度な部分:
1. Redis セキュリティ:
1. ACL を使用してセキュリティを制御します。
2. Redis に長いパスワードを追加します
#requirepass foobared
北京パスが必要
3. redis.conf 設定で認証機能を有効にします。
方法 1: 北京を認証
方法 2: ./redis-cli -a beijing
4. 次の設定行を redis.conf 設定ファイルに追加して、redis を単一のインターフェイスにバインドします (ただし、このネットワーク カードからのデータを受け入れるだけではありません)。
バインド 127.0.0.1 (単一マシンで構成できますが、分散またはマスター/スレーブのレプリケーションでは構成しないことをお勧めします)
5.SSL プロキシ
6. 指定されたコマンドを無効にします。
2. Redis マスター/スレーブ レプリケーション:
redis はスレーブサーバーでのみ構成する必要があります:
slaveof 211.122.11.11 6379 #マスターの IP とポートを指定します
masterauth beijing#これはマスターホストのパスワードです
情報#マスター/スレーブサーバーのステータスを表示します。
3. Redis トランザクション処理:
Redis トランザクションは非常に不完全です。
4. Redis 永続化メカニズム:
1. 2 つの方法: 1. データをディスクにバックアップする (スナップショット) [スナップショット (スナップショット) もデフォルトの方法です]
2. 操作コマンドを記録する【追記専用ファイル(略称aof)方式】
1. データをディスクにバックアップします (スナップショット) [スナップショット (スナップショット) もデフォルトの方法です]
save 900 1 #900 秒以内に複数のキーが変更された場合、スナップショットの保存を開始します
save 300 10 #300 秒以内に 10 個を超えるキーが変更された場合、スナップショットが保存されます
60 10000 を節約
2. 操作コマンドを記録する【追加専用ファイル(略称aof)方式】(より安全で耐久性が高い)
appendonly はい #aof 永続化メソッドを有効にする
# appendfsync always //書き込みコマンドを受信した直後にディスクに書き込みます。最も遅いですが、完全な永続性が保証されます
appendfsync Everysec //1 秒に 1 回ディスクに書き込み、パフォーマンスと永続性の間で適切な妥協点を作ります
#appendfsync no //OS に完全に依存、最高のパフォーマンス、永続性の保証なし

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

メモ帳++7.3.1
使いやすく無料のコードエディター

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

ホットトピック









