redis学習初日


1,  

[root@localhost ~]# tar zxvf redis-3.0.2.tar.gz
[root@localhost ~]# mv redis-3.0.2 /usr/local/redis
[root@localhost ~]# cd /usr/local/redis
[root@localhost redis]#make &&make install
over

makeエラー
zmalloc.h:50:31:エラー:jemalloc/jemalloc.h:そのファイルやディレクトリがありません
make MALLOC=libc&&make installの使用
#公式Webサイトでは、このようにサービスを開始するよう求められています.
src/redis-server  
#しかし、上記の問題が発生したら、次の方法でredisサービスを開始してください.
nohup src/redis-server redis.conf &  
redisを閉じる
redis-cli shutdown
2.
key関連命令
exists key keyは戻り1が存在し、戻り0は存在しない.
del key 1 keyn指定keyを削除し、削除に成功した数を返します.
type keyキーのデータ型の表示
randomkey現在のライブラリはランダムにkeyを返します
rename oldkey newkey名前を変更します.newkeyが存在する名前であれば、newkeyは削除されます.
renamenx同様に、存在する場合は改名に失敗し、0を返す.
expire key seconds key指定有効期限単位秒0
ttl keyはkeyの残りの期限を返し、-1は未設定-2は期限切れを示す
select db-index選択データベースはuse datebasesに等しく、デフォルト接続は0、デフォルトは16である.
move key db-indexはkeyを指定データベースに移動し、1を返すと成功、0は失敗を示す.
3.
义齿
string hash list set sorted set 5種類
3.1 stringタイプ
set key設定keyまたは更新key
setnx keyはkeyを作成し、すでに存在する場合は0を返す.
get key取得keyのvalue
getset key value keyの値を取得し、keyの値を更新
mget key 1 keyn一括取得
mset key 1 value 1 key 2 value 2バッチ設定は、エラーがある場合は何もしません.
msetnx key 1 value 1 key 2 value 2は同じですが、存在するkeyがあれば何もしません.
Ince keyはkeyに対して+1操作を行い、intタイプでなければエラーが発生し、keyが存在しなければ1を返す.
decy keyはkeyに対して-1操作を行い、その他は同じです.
incrby key integerはkeyに指定した数値を加え、keyが存在しない場合に作成します.
decrby key integerはkeyに対して指定した数値を減算し、その他は同じで、負の値を通じてincrbyの効果を達成することができ、同じである.
3.2
hashタイプ
hset key field value設定、存在しない場合に作成、たとえばhset id xiaoming 19912213|hset age xiaoming 17
hget key field field fieldのkey値を取得する例:hget id xiaoming
hmget key field 1 field 2バッチ取得、例えばhmget id xiaoming daming
hmset key field1 value1 ...一括設定例:hmset age xiaoming 18 daming 19
hincrby key field integerはkeyをintegerに増やし、新しい値を返すことに成功したのは負数です.
hexists key fieldはfieldとkeyが存在するかどうかを検出し、存在は1を返します.そうでなければ0を返します.
hdel key field指定keyを削除し、fieldにkeyがない場合fieldは存在しません.
hlen key指定keyのfield数を返す
hkeys keyはkeyのすべてのfieldを返します
hvals keyはkeyのすべてのvalueを返します
hgetall keyはkeyのすべてのfiledとvalueを返します
3.3 
リストタイプ元アドレスhttp://www.cnblogs.com/stephen-liu74/archive/2012/02/14/2351859.html
コマンドプロトタイプ
時間の複雑さ
コマンドの説明
戻り値
LPUSH key value [value ...] 
O(1)
指定キーに関連付けられたList Valueのヘッダ挿入パラメータに与えられるすべてのValue.キーが存在しない場合、コマンドは、挿入前にキーに関連付けられた空のチェーンテーブルを作成し、その後、チェーンテーブルのヘッダからデータを挿入します.キーのValueがチェーンテーブルタイプでない場合、コマンドは関連するエラー情報を返します. 
挿入後のチェーンテーブルの要素の数.
LPUSHX key value 
O(1)  
このコマンドは、パラメータに指定されたキーが存在する場合にのみ、関連付けられたList Valueのヘッダにパラメータに与えられたValueを挿入します.そうしないと、アクションは発生しません.
挿入後のチェーンテーブルの要素の数. 
LRANGE key start stop 
O(S+N)
時間複雑度のSはstartパラメータで表されるオフセット量であり,Nは要素の数を表す.このコマンドのパラメータstartとendはいずれも0-basedです.すなわち0は、チェーンテーブルヘッダ(leftmost)の最初の要素を表す.ここでstartの値は負の値であってもよく、−1はチェーンテーブルの最後の要素、すなわち末尾の要素を表し、−2は最後から2番目の要素を表し、これに類する.このコマンドは、要素を取得するとstartとendの位置の要素も取り出します.startの値がチェーンテーブルの要素の数より大きい場合、空のチェーンテーブルが返されます.endの値が要素の数より大きい場合、コマンドはstart(startを含む)からチェーンテーブルに残っているすべての要素を取得します.
指定した範囲内の要素のリストを返します.
LPOP key 
O(1) 
指定したキーに関連付けられたチェーンテーブルの最初の要素、すなわちヘッダ要素を返してポップアップします.キーが存在しない場合はnilに戻ります.
チェーンテーブルヘッダの要素.
LLEN key
O(1) 
指定したキーに関連付けられたチェーンテーブルの要素の数を返し、キーが存在しない場合は0を返します.キーに関連付けられたValueのタイプがチェーンテーブルでない場合は、関連するエラーメッセージが返されます.
チェーンテーブルの要素の数.
LREM key count value 
O(N) 
時間的複雑度のNはチェーンテーブルの要素の数を表す.キー関連を指定したチェーンテーブルで、前のcount個の値がvalueに等しい要素を削除します.countが0より大きい場合は、先頭から末尾へ遍歴して削除し、countが0より小さい場合は末尾から先頭へ遍歴して削除します.countが0に等しい場合は、チェーンテーブルのvalueに等しい要素をすべて削除します.指定したキーが存在しない場合は、直接0を返します.
削除された要素の数を返します.
LSET key index value 
O(N) 
時間的複雑度のNはチェーンテーブルの要素の数を表す.ただし,頭部や末尾の要素を設定する場合,その時間的複雑度はO(1)である.チェーンテーブルで指定した位置の値を新しい値に設定します.0は最初の要素、すなわちヘッダ要素、-1は末尾要素を表します.インデックス値Indexがチェーンテーブルの要素の数の範囲を超えている場合、コマンドは関連するエラー情報を返します.
LINDEX key index 
O(N) 
時間的複雑度のNは、その要素が見つかったときに巡回する必要がある要素の数を表す.ヘッドまたはテール要素の場合、その時間的複雑さはO(1)である.このコマンドは、チェーンテーブルで指定した位置(index)の要素を返します.indexは0-basedで、ヘッダ要素を表し、indexが-1の場合、末尾要素を表します.キーに関連付けられているチェーンテーブルでない場合、コマンドは関連するエラー情報を返します.
要求された要素を返し、indexが範囲を超えた場合nilを返します.
LTRIM key start stop 
O(N) 
Nは削除された要素の数を表す.このコマンドは、指定した範囲内の要素のみを保持し、リンク内の要素の数が相対的に一定であることを保証します.startパラメータとstopパラメータはいずれも0-basedであり、0はヘッダ要素を表す.他のコマンドと同様にstartとstopは負の値、-1は末尾要素を表すこともできます.startがチェーンテーブルの末尾より大きい場合、またはstartがstopより大きい場合、コマンドは間違っていませんが、空のチェーンテーブルを返し、同時にキーも削除されます.stopが要素の数より大きい場合、startから残りのすべての要素が保持されます.
LINSERT key BEFORE|AFTER pivot value 
O(N) 
時間的複雑度におけるNは、その要素pivotを見つける前に遍歴する必要がある要素の数を表す.これは、pivotがチェーンテーブルのヘッダまたはテールに位置する場合、コマンドの時間的複雑度がO(1)であることを意味する.このコマンドの機能はpivot要素の前または後ろにパラメータの要素valueを挿入することです.キーが存在しない場合、コマンドは何も実行しません.キーに関連付けられたValueタイプがチェーンテーブルでない場合、関連するエラーメッセージが返されます.
挿入に成功したチェーンテーブルの要素の数は、pivotが見つからない場合は-1、keyが存在しない場合は0を返します.
RPUSH key value [value ...] 
O(1) 
指定したKeyに関連付けられたList Valueの末尾にパラメータで与えられたすべてのValueを挿入します.キーが存在しない場合、コマンドは、挿入前にキーに関連付けられた空のチェーンテーブルを作成し、その後、チェーンテーブルの末尾からデータを挿入します.キーのValueがチェーンテーブルタイプでない場合、コマンドは関連するエラー情報を返します. 
挿入後のチェーンテーブルの要素の数. 
RPUSHX key value 
O(1) 
このコマンドは、パラメータに指定されたキーが存在する場合にのみ、関連付けられたList Valueの末尾にパラメータに与えられたValueを挿入します.そうしないと、何も起こりません. 
挿入後のチェーンテーブルの要素の数. 
RPOP key 
O(1) 
指定したKey関連チェーンテーブルの最後の要素、すなわち末尾要素を返してポップアップします.キーが存在しない場合はnilに戻ります. 
チェーンテーブルの末尾の要素. 
RPOPLPUSH source destination 
O(1) 
ソースキーに関連付けられたチェーンテーブルの末尾から原子的に要素がポップアップされ、destinationキーに関連付けられたチェーンテーブルのヘッダにポップアップされた要素が挿入されます.ソースキーが存在しない場合、コマンドはnilに戻り、他の操作は行いません.ソースとdestinationが同じキーである場合、関連チェーンテーブルの末尾要素を原子的にチェーンテーブルの頭部に移動することに相当する.
ポップアップと挿入された要素を返します.
初日over.