今日は、redisのインストールと使用法を見ていきます。すべてが要約されており、将来簡単に使用できます。
redisに保存されているデータはKVの形式であり、永続化できます。
まず、最初にインストールする必要があります。ここで選択するのは、ソースコードパッケージをオンラインでダウンロードしてからコンパイルすることです。
cd /opt
wget http://download.redis.io/releases/redis-4.0.8.tar.gz
ダウンロード後、解凍する必要があります
tar -zxvf redis-4.0.8.tar.gz
解凍後、フォルダに入り、makeコマンドを実行してコンパイルします
cd redis-4.0.8
make
コンパイル後、等号の周りにスペースを入れずに、インストールしてインストールディレクトリを指す必要があります
cd bin
make install PREFIX=/usr/local/redis-4.0.8
その後、redis.confをインストールディレクトリにコピーします
cp redis.conf /usr/local/redis-4.0.8/redis.conf
構成ファイル内の関連する構成項目は、他のブログで説明されています。変更が必要なものを参照できます。
操作を改善するために、構成の1つだけを変更します。つまり、daemonize noをyesに変更し、バックグラウンドで実行
cd /usr/local/redis-4.0.8
vim redis.conf
変更後、開始できます
cd bin
./redis-server ../redis.conf
プロセスにredisがあるかどうかを確認できます
ps -aux|grep redis
Redisはシングルスレッドで実行され、1秒あたり約100,000のリクエストを処理できます。これは、ホストのハードウェアと組み合わせる必要があります。コマンドを実行して確認できます。私のマシンは約70,000です。
./redis-benchmark
これで、redisクライアントに接続して、さまざまなコマンドを試す
ことができます。クライアントに接続します。何かの
デフォルト接続は6379であるとも言えます。したがって、ポートが変更されていない場合は、コマンドを直接実行できます。 redisクライアントを接続する
./redis-cli
ポートを6378に変更する場合、ローカルに複数のredisインスタンスがある場合を含め、接続時にポートを追加する必要があります。その後、クライアントを使用してredisに接続するときにポートを追加する必要があります。
./redis-cli -p 6378
リモート接続もあります。このとき、IPを追加する必要があります。ポートがデフォルトの6379でない場合は、ポートも追加する必要があります。構成ファイルにパスワードが設定されている場合は、を追加する必要があります。パスワード。
./redis-cli -h ip -p 端口 -a 密码
最初に接続してから、パスワードを入力して確認することもできます
auth password
OK、クライアントが接続されました。パスワードpingを送信でき、PONGで応答して
、構成ファイルの値を取得します。
config get key
構成ファイルに値を設定します
config set key value
構成ファイルのデフォルトは16データベースで、コマンドでデータベースを切り替えることができます
select 切换的库下标
ライブラリキーの現在の数を表示する
DBSIZE
特定のキーが何であるかを見たい
keys *
キーを照合する場合は、?を使用できます。プレースホルダーとして、1桁しか使用しません。たとえば、照合するキーはk2です。
keys k?
キーが存在するかどうかを判別し、存在する場合は1を返し、存在しない場合は0を返します。
EXISTS 查询的key
現在のライブラリからキーと値のペアを削除し、別のライブラリに移動します
move 移除的key 移动到的库索引
期限切れになった秒数を確認します。-1は期限切れにならないことを意味し、-2は期限切れであることを意味します
ttl key
指定されたキーの有効期限を設定します。有効期限が切れると存在しなくなります
expire key 秒钟
キーの種類を確認してください
type key
値を追加します。値には、文字列、リスト、セット、ハッシュ、およびZsetソートセットの5種類があります。
文字
列文字列はRedisの最も基本的なタイプであり、Memcachedとまったく同じタイプとして理解できます。キーは値に対応します。
文字列型はバイナリセーフです。つまり、Redis文字列にはjpg画像やシリアル化されたオブジェクトなどの任意のデータを含めることができます。
文字列型はRedisの最も基本的なデータ型です。Redisの文字列値は最大512Mです。
設定
set key value
削除キー
del key
値を追加
append key value
ビューの長さ
STRLEN key
値が数値の場合、直接加算できます
INCR key
値が数値の場合、直接1を引くことができます
DECR key
値が数値の場合、直接加算できます
INCRBY k2 value
値が数値の場合、直接減算できます
DECRBY k2 value
開始インデックスと終了インデックスの間の値を取得します。終了インデックスが-1の場合、それは終了です。
GETRANGE key 开始下标 结束下标
設定値のオーバーライド
SETRANGE key 开始下标 替换的值
値を設定し、有効期限を設定します
setex key 过期时间 value
設定値がない場合、存在していても上書きされません
setnx key value
複数の値を設定する
mset key value key value key value ......
複数の値を取得する
mget key key key ......
複数の存在しない設定を行いますが、存在することはできず、存在しない混合設定は、すべて存在するか、まったく存在しません。
msetnx key value key value key value ......
新しい値を設定し、古い値を返します。古い値が存在しない場合は、nullを返します。
getset key value
リスト(リスト)
Redisリストは、挿入順にソートされた文字列の単純なリストです。リストの先頭(左)または末尾(右)に要素を追加できます。その最下層は実際にはリンクリストです。
キーが存在しない場合は、新しいリンクリストを作成します。
キーがすでに存在する場合は、新しいコンテンツを追加します。
値がすべて削除されている場合、対応するキーは、
リンクリストの操作が非常に効率的であることも通知します。頭と尾の両方ですが、中間要素の操作で実行すると、効率が非常に悪くなります。
値を左から右に設定します
LPUSH key value value ......
右から左に値を設定します
RPUSH key value value ......
値を表示し、添え字に応じて選択できます。終了添え字が-1の場合、それが終了です。
LRANGE key 开始下标 结束下标
左から値をポップします
LPOP key
右から値をポップ
RPOP key
下付き文字の値を取得する
lindex key index
長さを取得します
llen key
N個の値を削除する
lrem key n value
特定の値をインターセプトし、インターセプトされた値を割り当てます
ltrim key 开始下标 结束下标
ソースリストの右側からポップされた値は、左側からターゲットリストにプッシュされます
rpoplpush 源列表 目标列表
値の前に値を挿入します
linsert key before 基值 插入值
値の後に値を挿入します
linsert key after 基值 插入值
Set(コレクション)
Redis Setは、HashTableを介して実装される文字列型の順序付けられていないコレクションです。
セットを設定する
sadd key k1 v1 k2 v2 k3 v3
セットの値を表示する
smembers key
セットにキーがあるかどうかを確認し、存在する場合は1を返し、存在しない場合は0を返します。
sismember key
セット内の要素の数を取得します
scard key
セットの要素を削除します
srem key value
セットからn個の数字をランダムに選択します
srandmember key n
スタックからランダムにポップアウトします。デフォルトでは、nを書き込むと、ランダムにnがポップアウトします。
spop key n(不写,默认出n个)
set1の値をset2に移動します
smove set1 set2 value
差分セット、set1にはあるが、set2にはない要素
sdiff set1 set2
交差点、set1とset2の両方に存在する要素
sinter set1 set2
ユニオン、set1とset2のすべての要素が重複排除された後のセット
sunion set1 set2
ハッシュ(ハッシュ)
Redisハッシュは、キーと値のペアのコレクションです。
Redisハッシュは、文字列型のフィールドと値のマッピングテーブルです。ハッシュは、オブジェクトの格納に特に適しています。
JavaのMap <String、Object>の
値と同様に、keyはredisのキーであり、kvはmapの要素です。
hset key k v
値を取得し、最初に要素を取得してから、要素の値を取得します
hget key k
複数の値を設定する
hmset key k v k v k v ......
複数の値を取得する
hmget key k k k ......
すべての値を取得する
hgetall key
いくつかの要素を削除します
hdel key k k k ......
要素の数を取得します
hlen key
要素が存在するかどうかを判断し、存在する場合は1を返し、存在しない場合は0を返します。
hexists key k
すべての要素のキーを取得します
hkeys key
すべての要素の値を取得します
hvals key
要素の値が整数の場合、整数をインクリメントできます
hincrby key k n
要素の値が小数の場合、特定の小数を増やすことができます
hincrbyfloat key k n
要素が存在しない場合は値を設定し、設定値がない場合は設定値が成功した場合は1を返し、設定値が失敗した場合は0を返します。
hsetnx key k v
Zset(ソートされたセット:順序付けられたコレクション)
Redis zsetは、setのような文字列型要素のコレクションでもあり、重複するメンバーは許可されません。
違いは、各要素がダブルタイプのスコアに関連付けられていることです。
Redisはスコアを使用して、セットのメンバーを小さいものから大きいものに並べ替えます。zsetのメンバーは一意ですが、スコア(スコア)を繰り返すことができます。
設定値、値はスコアと値を含むキーと値のペアです
zadd key score value score value score value ......
値を表示
zrange key 开始下标 结束下标
スコア付きの値を表示
zrange key 开始下标 结束下标 withscores
特定のスコア間隔の値を表示する
zrangebyscore key 开始分数 结束分数
スコア付きのスコア間隔の値を表示する
zrangebyscore key 开始分数 结束分数 withscores
特定のスコア範囲を含まないが、開始スコアまたは終了スコアを含まない値を表示する
zrangebyscore key (开始分数 (结束分数
特定のスコア間隔を表示し、開始添え字からn個の値をインターセプトします
zrangebyscore key 开始分数 结束分数 limit 开始下标 n
要素を削除
zrem key 值
ビューの長さ
zcard key
特定の間隔でスコアの数を数える
zcount key 开始分数 结束分数
値のインデックスを表示する
zrank key value
値のスコアを表示する
zscore key value
添え字の値を逆の順序で取得します
zrevrank key value
zsetを逆の順序で並べ替えます
zrevrange key 开始下标 结束下标
特定のスコア間隔の値を逆の順序で取得します
zrevrangebyscore key 开始分数 结束分数
ライブラリデータをクリアします(注意して使用してください)
FLUSHDB
すべてのライブラリデータをクリアします(注意して使用してください)
FLUSHALL
最後に、Redis操作マニュアルのWebサイトを提供します。Redisコマンドリファレンスを参照できます。