02-redis-字符串類型-哈希類型-List類型

字符串類型操作

  • redisdoc.com 所有語法文檔

增刪改查

  • 新增
set key value
set name js
  • 查詢
get key 
get name
  • 修改

    • set key value
    • 如果key已經(jīng)存在就是修改
  • 刪除

del key
del name

字符串類型-高級設(shè)置

  • set key value

    • 不管key是否存在都會設(shè)置(不存在就新增, 存在就覆蓋)
    • set name css
  • setnx key value

    • 只有key不存在才設(shè)置(新增)
    • setnx name cs
  • set key value xx

    • 只有key存在才設(shè)置(更新)
    • set name vue xx

字符串類型- 批量處理

  • 批量添加值

    • meset key value key value ...
    • meset age 18 gender nan
  • 批量查詢值

    • mget key key key ...
    • mget name age gender

字符串類型-其他操作

  • 設(shè)置新值返回舊值

    • getset key newValue
    • getset name react
  • 給舊值追加數(shù)據(jù)

    • append key value
    • append name 12
  • 計算value字符串長度

    • strlen key
    • strlen name
    • 注意點(diǎn):中文問題
  • 獲取指定下標(biāo)范圍的值

    • getrange key start end
    • getrange name 0 -1
  • 從指定下標(biāo)開始設(shè)置字符串的值

    • setrange key offset value
    • setrange name 1 123

字符串類型-自增自減操作

  • incr

    • 作用: 給指定key的對應(yīng)的 value 自增 1,
    • 如果key 不存在, 會自動新增, 并從0開始自增1
    • 格式 : incr key
  • decr

    • 作用: 給指定key的對應(yīng)的 value 自減 1,
    • 如果key 不存在, 會自動遞減, 并從0開始自減1
    • 格式 : decr key
  • incrby

    • 作用: 給指定key的對應(yīng)的Value增加指定值, 如果key不存在會自動新增, 并從0開始增加
    • 格式: incrby key number
  • decrby

    • 作用: 給指定key的對應(yīng)的Value減少指定的值, 如果key不存在會自動新增, 并從0開始減少
    • 格式: decrby key number
  • incrbyfloat

    • 作用: 給指定key的對應(yīng)的Value增加指定值, 如果key不存在會自動新增, 并從0開始增加
    • 格式: incrbyfloat key float

哈希類型

  • hash類型相當(dāng)于 Js 中的對象, 可以把整個對象當(dāng)做 value 存儲起來

哈希類型-增刪改查

  • 增加

    • hset key field value
    • hset user age css
    • hset user age 15
  • 查詢

    • hget key field
    • hget user name
  • 修改

    • 如果字段不存在就是新增, 如果字段存在就是修改
    • hset key field value
    • hset user name react
  • 刪除

  • 刪除指定字段

    • hdel key field
    • hdel user name
  • 刪除對應(yīng)key所有數(shù)據(jù)

    • del key
    • del user

哈希類型-高級操作

  • 批量新增

    • hmset key field1 value1 field2 value2
    • hmset user name css age 12
  • 批量查詢

    • hmget key field field2 field3
    • hmget user name age
  • 工具指令

    • hlen key 返回key存儲的hash表中有多少條數(shù)據(jù)
    • hlen user
  • 是否存在指定key存儲的Hash中是否有指定的字段

    • hexists key field
    • hexists user name 返回1表示穿在
    • hexists user gender 返回0 表示不存在

哈希類型-其他操作

  • 查詢所有的field

    • hkeys key
    • hkeys user
  • 查詢所有的field 和 value

    • hvals key
    • hvals user
  • 查詢所有的field 和value

    • hgetall key
    • hgetall user
    • 注意點(diǎn):redis是單線程的, 以上操作比較耗時,慎用

List類型

  • List類型就相當(dāng)于JavaScript中的數(shù)組,可以把整個數(shù)組當(dāng)做一個Value存儲起來
  • 注意點(diǎn): List是有序的

List類型-增刪改查

  • 增加

  • 從第二value開始添加到第一個的左邊

    • lpush key value1 value2 value3
    • lpush arr aa bb cc
  • 從第二value開始添加到前一個的右邊

    • rpush key value1 value2 value3
    • rpush arr ff gg
  • 查詢

  • 查詢指定范圍的數(shù)據(jù)

    • lrange key startIndex endIndex
    • 索引從0開始, endIndex等于-1表示取到最后
    • lrange arr 0 -1
  • 查詢指定索引數(shù)據(jù)

    • lindex key index
    • 從前往后索引從0開始, 從后往前索引從-1開始
  • 修改

    • lset key index value
    • 注意 index 從0開始
  • 刪除

  • lpop 刪除左邊元素

    • lpop key
    • lpop user
  • rpop 刪除右邊元素

    • rpop key
    • rpop user
  • lrem刪除指定個數(shù)的指定元素

    • lrem key count value
    • count > 0 : 從表頭開始先表尾所有, 移除與value相等的元素, 數(shù)量為count
    • count < 0 : 從表尾開始向表頭搜索, 移除與value相等的元素,數(shù)量為count的絕對值
    • count = 0 : 移除表中所有與value 相等的值
  • ltrim按照索引剪切列表

    • ltrim key start end

List類型-其他操作

  • 追加數(shù)據(jù)

    • lpush key value1 value2 value3

    • lpush arr 11 22

    • rpush key value1 value2 value3

    • rpush arr 33 44

  • 插入數(shù)據(jù)

    • linsert key before|after oldValue newValue
    • linsert arr after 11 test
  • 獲取列表長度

    • llen key
    • llen arr

列表實(shí)現(xiàn)簡單數(shù)據(jù)結(jié)構(gòu)

  • 棧結(jié)構(gòu) - 先進(jìn)后出

    • lpush + lpop
  • 隊列結(jié)構(gòu) - 先進(jìn)先出

    • lpush + rpop
  • 如果需要需要'先進(jìn)后出'或者'先進(jìn)先出'的數(shù)據(jù)

  • 我們就可以將這些數(shù)據(jù)存儲到Redis的列表中

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容