redis基本コマンド

6544 ワード

接続redis

redis-cli -h 192.168.2.215 -p 6379

ビューキー

keys *

アクセス変数

set num 1
get num

文字列アクション

set str "hello"
append str "world"
strlen str

タイプの表示

type num
type amap
type alist

キーが存在するかどうかを確認

exists num
exists alist
hexists mmap email

データベースの切り替え(デフォルト0)

select 1

複数のキーを取得

mget num str
mset num 3 str "world"

bit操作

set fg "bar"
getbit fg 0
getbit fg 6
setbit fg 0 1
bitcount fg

げんしさぎょ

incr num
incrby num 3
decr num
decrby num 2
incrbyfloat num 2.1
#  decrbyfloat
incrbyfloat num -0.1 

リストアクション

lpush alist a
lpush alist b
lpush alist c
rpush alist d
lpop alist
rpop alist
llen alist
  • は、最も右側の要素を含むクリップを取得し、負のインデックス
  • をサポートする.
    lrange alist 0 4
  • すべての要素
  • を取得
    lrange alist 0 -1
  • 左から最初の値pの要素
  • を削除する.
    lrem alist 1 p
  • pのすべての値を削除する要素
  • lrem alist 0 p
  • 最初の値pの要素
  • を右から削除する.
    lrem alist -1 p
  • インデックスが0の要素
  • を検索
    lindex alist 0
  • 右側の最初の要素
  • を検索
    lindex alist -1
  • インデックス付与
  • lset alist 2 y
  • 指定インデックス以外の要素を削除
  • ltrim alist 0 3
  • 指定値wの後に
  • を挿入する.
    linsert alist after w k
  • 指定値wより前に
  • を挿入する.
    linsert alist before w x
  • 右popの要素からターゲットリスト
  • rpoplpush alist blist

    他のキーでソート

    lpush slist 2 1 3
    set itemscore:1 50
    set itemscore:2 100
    set itemscore:3 -10
    sort slist by itemscore:* desc

    コレクションアクション

    sadd myset a
    sadd myset b c
  • すべての
  • を表示
    smembers myset
  • コレクション要素の数を表示する
  • scard myset
  • 削除要素
  • srem myset c
  • 要素が集合中であるか否かを判断する
  • .
    sismember myset c
  • 集合演算
  • sadd seta 1 2 3
    sadd setb 2 3 4
  • 計算差セット
  • sdiff seta setb
  • 差分セットを計算しsetj
  • に格納する
    sdiffstore setj seta setb
    sadd setc 2 3
    sdiff seta setb setc
  • 計算交差
  • sinter seta setb
  • 交差を計算しsetx
  • に格納する
    sinterstore setx seta setb
  • 計算およびセット
  • sunion seta setb
  • は、setu
  • に計算および格納される.
    sunionstore setu seta setb
  • ランダム取得要素
  • srandmember seta 2
  • 集合から要素
  • がランダムにポップアップする.
    spop seta
  • コレクションソート、デフォルトでは要素を二重精度浮動小数点に変換し、小さいものから大きいものまで
  • sort seta
  • 辞書順
  • sort setn alpha

    ちくじしゅうごう

  • リストは双方向チェーンテーブルで実現され、両端に近い要素の取得速度が速く、要素が多くなると中間要素へのアクセスが遅くなる
  • である.
  • 新鮮なこと、ログというクエリーの少ない中間要素に適したアプリケーション
  • 秩序化集合は、ハッシュ/ジャンプテーブルを用いて実現され、中間要素の読み取りも速い
  • である.
  • リストは、ある要素の位置を簡単に調整することはできません.順序付き集合は
  • です.
  • 秩序化された集合は、各要素にスコアを計算し、メモリを消費します.すべての集合の中で最も高度な
  • です.
    zadd sortset 89 tom 90 jim 100 david
  • jimスコア
  • を更新
    zadd sortset 78 jim
  • スコアに従って小さいから大きいまで要素
  • を表示する
    zrange sortset 0 -1
  • スコアに従って大きいから小さいまで要素
  • を表示する
    zrevrange sortset 0 -1
  • 要素とスコアを表示
  • zrange sortset 0 -1 withscores
  • スコア
  • を表示
    zscore sortset david
  • 得点範囲に従って表示され、90
  • を含む
    zrangebyscore sortset 90 100
  • は90
  • を含まない.
    zrangebyscore sortset (90 100
  • 無限、2人目から3人取り
  • zrangebyscore sortset (80 +inf limit 1 3
  • ある要素の点数
  • を増加する
    zincrby sortset -3 tom
  • 取得要素個数
  • zcard sortset
  • 指定範囲内の要素個数
  • を取得する.
    zcount sortset 90 100
    zcount sortset (89 +inf
  • 1 1または複数の要素を削除する
  • zrem sortset jim
  • 順位別削除
  • zremrangebyrank sortset 0 2
  • スコア範囲に従ってスコア
  • を削除する.
    zremrangebyscore sortset (60 80
  • ランキングを取得し、小さい頃から
  • まで
    zrank sortset jim
  • 位から
  • 位まで
    zrevrank sortset jim
  • 秩序集合交差
  • を計算する
    zadd t1 1 a 2 b
    zadd t2 10 a 20 b
  • 2は要素個数
  • である.
    zinterstore rs 2 t1 t2
  • aggregateは新しい集合要素の点数の計算方式
  • である.
    zinterstore rs1 2 t1 t2 aggregate min
    zinterstore rs2 2 t1 t2 aggregate max
    zinterstore rs3 2 t1 t2 aggregate sum
  • 加重
  • を増加
    zinterstore rs4 2 t1 t2 weights 1 0.1
    zrange rs2 0 -1 withscores

    map操作

    hset amap name "psersia"
    //update or insert a key
    hset amap email "[email protected]"
    hget amap name
    
    hgetall amap
    
    hmset mmap username persia password pw age 3
    hmget mmap username age
    hgetall mmap
    //         ,atomic
    hsetnx mmap email [email protected]
    hincrby mmap age 2
    //     ,     key
    hincrby mmap score 60
    hdel mmap score
    hkeys mmap
    hvals mmap
    hlen mmap

    取引

    multi
    sadd "user:1:following" 2
    sadd "user:2:followers" 1
    exec
  • watchの変数は、watchの後に
  • に修正する.
    #       ,count  2
    set count 1
    watch count
    set count 2
    multi
    set count 3
    exec
    get count

    キャッシュ時間の設定

    set mycache 100
  • 15分後に失効し、-1は永久生存
  • である.
    expire mycache 900
  • 生存時間
  • を再設定する.
    expire mycache 90
    #      
    pexpire mycache 1000

    残りの生存時間の表示

    ttl mycache
  • キャッシュをキャンセルし、
  • に変更
    persist mycache
  • set生存時間
  • をクリアすることもできる.
    set mycache hello
    ttl mycache

    lpush,rpop実装メッセージキュー

    lpush q hello world
    lpush q test msg
    lrange q 0 -1
    rpop q
    // 10      
    brpop q 10
    //      0,          
    brpop q 0

    サブスクリプション・モードのパブリッシュ

    publish mychannel hi
    subscribe mychannel
    //  mychannel.1,mychannel.10
    psubscribe mychannel.?*
    unsbuscribe mychannel