ホームページ  >  記事  >  データベース  >  Redis リスト タイプの概要

Redis リスト タイプの概要

尚
転載
2020-03-24 09:19:431754ブラウズ

Redis リスト タイプの概要

Redis リストは、挿入順に並べ替えられた単純な文字列リストです。リストの先頭 (左) または末尾 (右) に要素を追加できます

推奨: redis 入門チュートリアル

リストには最大 232 個を含めることができます - 1 要素 (4294967295、リストごとに 40 億以上の要素)。

{
    'numbers': [1, 2, 3, 4, 5, 6, 7,8]
    'letters': ['a', 'b', 'c', 'd', 'e', 'f', 'g','h']
}

これはリスト タイプです。リスト内の要素は文字列である必要があり、データ タイプをネストすることはできません。

リスト型のすべての操作は、キーに対応するリスト操作です (よく考えてみると、追加、削除、指定位置に挿入、指定位置に削除、ポップアップ、カット、 Python の一部、redis だと思います。それらはすべてそこにあるはずです)

LPUSH キーの値 [値 ...] #要素を左側に追加します

redis 127.0.0.1:6379> lpush numbers 1
(integer) 1
redis 127.0.0.1:6379> lpush numbers 2 3
(integer) 3

RPUSH キーの値 [値 ...] #データを右側に追加

#LLEN キー #リスト内の要素の数を取得

redis 127.0.0.1:6379> llen numbers
(integer) 3

LRANGE key sart stop # リストフラグメントの取得 Python のスライス関数と似ていますが、スライス時に返されるデータに停止位置データが含まれる点が異なります

redis 127.0.0.1:6379> lrange numbers 0 -1   #获取所有的列表内数据
"3"
"2"
"1"
redis 127.0.0.1:6379> lrange numbers 0 0
"3"
redis 127.0.0.1:6379> lrange numbers 0 5
"3"
"2"
"1"
redis 127.0.0.1:6379> lrange numbers 0 3
"3"
"2"
"1"

LPOP キー# 左から要素をポップします

redis 127.0.0.1:6379> lrange numbers 0 -1
"3"
"2"
"1"
redis 127.0.0.1:6379> lpop numbers
"3"
redis 127.0.0.1:6379> lrange numbers 0 -1
"2"
"1"

RPOP #右から要素をポップします 原理は上記と同じです

LREM キーカウント値

# リスト内の指定された値を削除します

#count >0 count の左から value と等しい値を削除します

redis 127.0.0.1:6379> lrange numbers 0 -1
"4"
"3"
"2"
"1"
redis 127.0.0.1:6379> lrem numbers 1 3
(integer) 1
redis 127.0.0.1:6379> lrange numbers 0 -1
"4"
"2"
"1"

# count >0 count の左端から value と等しい値を削除

#count=0 value である要素をすべて削除

#LINDEX キーインデックス #要素を取得指定されたインデックスの値

redis 127.0.0.1:6379> lrange numbers 0 -1
"4"
"1"
redis 127.0.0.1:6379> lindex numbers 3
(nil)  #没有返回nil
redis 127.0.0.1:6379> lindex numbers 1
"1"
redis 127.0.0.1:6379> lindex numbers 0
"4"

LSET キー インデックスの値 # 指定された位置の値を設定するときは、元の位置に値がない場合を除き、元の位置を置き換えることに注意する必要があります

redis 127.0.0.1:6379> lrange numbers 0 -1
"4"
"1"
redis 127.0.0.1:6379> lset numbers 1 2
OK
redis 127.0.0.1:6379> lset numbers 1 3
OK
redis 127.0.0.1:6379> lrange numbers 0 -1
"4"
"3"

注: 範囲外の設定はエラーです

redis 127.0.0.1:6379> lset numbers 2 3
(error) ERR index out of range

LTRIM キーの開始終了 #元のリストを切り取り、指定された範囲外の要素は削除されます

redis 127.0.0.1:6379> lrange numbers 0 -1
"4"
"3"
"2"
"1"
redis 127.0.0.1:6379> ltrim numbers 1 2
OK
redis 127.0.0.1:6379> lrange numbers 0 -1
"3"
"2"

ピボット値の前|後のLINSERTキー #リストへ 値を挿入します。名前を見ればわかります。ピボットの前または後に挿入する必要がありますか?

redis 127.0.0.1:6379> lrange numbers 0 -1
"3"
"2"
redis 127.0.0.1:6379> linsert numbers after 2 1
(integer) 3
redis 127.0.0.1:6379> lrange numbers 0 -1
"3"
"2"
"1"
redis 127.0.0.1:6379> lrange numbers 0 -1
"3"
"2"
"1"
redis 127.0.0.1:6379> linsert numbers before 3 4
(integer) 4
redis 127.0.0.1:6379> lrange numbers 0 -1
"4"
"3"
"2"
"1"

RPOPLPUSH ソース宛先 #ソースの右側から要素をポップし、宛先の左側に追加します

redis> LRANGE alpha 0 -1         # 查看所有元素
"a"
"b"
"c"
"d"

redis> RPOPLPUSH alpha reciver   # 执行一次 RPOPLPUSH 看看
"d"
redis> LRANGE alpha 0 -1
"a"
"b"
"c"

redis> LRANGE reciver 0 -1
"d"

関連推奨事項:

mysql ビデオ チュートリアル: https://www.php.cn/course/list/51.html

以上がRedis リスト タイプの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はoschina.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。