Redisシリーズ-key関連主要操作関数
このblogは主にまとめて、redisの中でkeyと関連する常用関数
1)keys
構文:keys pattern
解釈:指定したパターンpatternに一致するすべてのキーを検索
2)randomkey
構文:randomkey
解釈:ランダムキーを返す
3)exists
構文:exists key
解釈:keyが存在するかどうかを判断する
4)type
構文:type key
解釈:keyが格納した値タイプを返し、戻り値:none【keyが存在しない】、string、list、set、zset、hash
5)expire
構文:expire key seconds
keyの生存時間を設定して、単位は秒で、keyが期限切れになる時、自動的に削除されます
6)ttl
構文:ttl key
解释:keyが生存できる时间が得られ、keyが存在しないか、または生存时间が设定されていない场合は、-1を返します.
7)persist
構文:persist key
解釈:所与のkeyの生存時間を除去する
8)rename
構文:rename key newkey
keyをnewkeyと改名する
注意:keyとnewkeyが同じかkeyが存在しない場合、エラーが返されます.newkeyが既に存在する場合、renameは古い値を上書きします.
9)renamenx構文:renamenx key newkey
説明:newkeyが存在しない場合のみ、keyと名前を変更します.
10)del
構文:del key[key...]
解釈:1つ以上のkeyを削除
11)move
構文:move key db
説明:keyを指定dbに移動
12)sort
構文:sort key[BY pattern][LIMIT offset count][GET pattern[GET pattern...]][ASC|DESC] [ALPHA] [STORE destination]
解釈:指定されたリスト、コレクション、秩序化されたコレクションkey内のソートされた要素を返すか保持します.
sortは「すごい」が、できるだけredisサーバにsortの大量のデータを来させないでください.バルブ値を設定してsortするデータを減らしたり、ソート操作を前に移動したりすることで、webサーバや各アプリケーションでsortを使用することができます.
1)keys
構文:keys pattern
解釈:指定したパターンpatternに一致するすべてのキーを検索
[root@xsf001 ~]# redis-cli
redis 127.0.0.1:6379> keys * # key
1) "score"
2) "stu"
3) "score1"
4) "dest"
5) "lst.user"
6) "lst.tect"
redis 127.0.0.1:6379> keys scor?
1) "score"
redis 127.0.0.1:6379> keys scor[ee1]
1) "score"
2)randomkey
構文:randomkey
解釈:ランダムキーを返す
redis 127.0.0.1:6379> randomkey
"score"
redis 127.0.0.1:6379> randomkey
"list.user"
3)exists
構文:exists key
解釈:keyが存在するかどうかを判断する
redis 127.0.0.1:6379> exists score #key 1
(integer) 1
redis 127.0.0.1:6379> exists scorefda #key 0
(integer) 0
4)type
構文:type key
解釈:keyが格納した値タイプを返し、戻り値:none【keyが存在しない】、string、list、set、zset、hash
redis 127.0.0.1:6379> type score
zset
redis 127.0.0.1:6379> type lst.user
list
5)expire
構文:expire key seconds
keyの生存時間を設定して、単位は秒で、keyが期限切れになる時、自動的に削除されます
redis 127.0.0.1:6379> expire dest 30
(integer) 1
redis 127.0.0.1:6379> expire dest1 30 # key
(integer) 0
6)ttl
構文:ttl key
解释:keyが生存できる时间が得られ、keyが存在しないか、または生存时间が设定されていない场合は、-1を返します.
redis 127.0.0.1:6379> expire diff 100
(integer) 1
redis 127.0.0.1:6379> ttl diff
(integer) 94
redis 127.0.0.1:6379> ttl diff
(integer) 92
7)persist
構文:persist key
解釈:所与のkeyの生存時間を除去する
redis 127.0.0.1:6379> ttl diff
(integer) 28
redis 127.0.0.1:6379> persist diff
(integer) 1
redis 127.0.0.1:6379> ttl diff
(integer) -1
8)rename
構文:rename key newkey
keyをnewkeyと改名する
redis 127.0.0.1:6379> smembers diff
1) "zhangsan01"
redis 127.0.0.1:6379> rename diff diff01
OK
redis 127.0.0.1:6379> smembers diff
(empty list or set)
redis 127.0.0.1:6379> smembers diff01
1) "zhangsan01"
redis 127.0.0.1:6379> rename diff diff01
(error) ERR no such key
注意:keyとnewkeyが同じかkeyが存在しない場合、エラーが返されます.newkeyが既に存在する場合、renameは古い値を上書きします.
9)renamenx構文:renamenx key newkey
説明:newkeyが存在しない場合のみ、keyと名前を変更します.
redis 127.0.0.1:6379> renamenx diff01 stu #stu
(integer) 0
redis 127.0.0.1:6379> renamenx diff01 diff #diff
(integer) 1
10)del
構文:del key[key...]
解釈:1つ以上のkeyを削除
redis 127.0.0.1:6379> del score1
(integer) 1
redis 127.0.0.1:6379> del union diff aa #key aa
(integer) 2
11)move
構文:move key db
説明:keyを指定dbに移動
redis 127.0.0.1:6379> smembers stu # 0
1) "zhangsan01"
2) "wangwu"
redis 127.0.0.1:6379> move stu 1 # 1
(integer) 1
redis 127.0.0.1:6379> smembers stu
(empty list or set)
redis 127.0.0.1:6379> select 1 # db 1
OK
redis 127.0.0.1:6379[1]> smembers stu
1) "zhangsan01"
2) "wangwu"
12)sort
構文:sort key[BY pattern][LIMIT offset count][GET pattern[GET pattern...]][ASC|DESC] [ALPHA] [STORE destination]
解釈:指定されたリスト、コレクション、秩序化されたコレクションkey内のソートされた要素を返すか保持します.
redis 127.0.0.1:6379> sort lst.tech limit 0 2 alpha desc #
1) "tec06"
2) "tec05"
redis 127.0.0.1:6379> sort lst.stud
1) "1"
2) "2"
3) "3"
redis 127.0.0.1:6379> sort lst.stud desc
1) "3"
2) "2"
3) "1"
redis 127.0.0.1:6379> keys stu.*
1) "stu.name.2"
2) "stu.name.3"
3) "stu.level.1"
4) "stu.level.2"
5) "stu.level.3"
6) "stu.name.1"
redis 127.0.0.1:6379> sort lst.stud by stu.level.* desc get stu.level.* get stu.name.*
1) "3"
2) "admin"
3) "2"
4) "joe"
5) "1"
6) "jim"
redis 127.0.0.1:6379> sort lst.stud by stu.level.* asc get stu.name.*
1) "jim"
2) "joe"
3) "admin"
sortは「すごい」が、できるだけredisサーバにsortの大量のデータを来させないでください.バルブ値を設定してsortするデータを減らしたり、ソート操作を前に移動したりすることで、webサーバや各アプリケーションでsortを使用することができます.