首頁  >  文章  >  資料庫  >  Redis中鍵和字串常用指令有哪些

Redis中鍵和字串常用指令有哪些

WBOY
WBOY轉載
2023-06-02 19:20:35886瀏覽

    Redis 相關知識

    Redis的預設連接埠號碼為6379

    預設16個資料庫,類似陣列下標從0開始,初始預設使用0號庫。
    使用指令select <dbid></dbid>來切換資料庫。如: select 8。
    統一密碼管理,所有函式庫同樣密碼。

    dbsize查看目前資料庫的key的數量。
    flushdb清空目前庫。
    flushall通殺全部庫。

    Redis是單執行緒 多路IO復用技術。
    多路復用是指使用一個線程來檢查多個文件描述符( Socket )的就緒狀態,比如調用select和poll函數,傳入多個文件描述符,如果有一個文件描述符就緒,則返回,否則阻塞直到超時。得到就緒狀態後進行真正的操作可以在同一個執行緒裡執行,也可以啟動執行緒執行(例如使用執行緒池)。

    序列 VS 多執行緒鎖定 (memcached) VS 單執行緒多路IO復用(Redis)
    Redis與Memcache三點不同:

    • 支援多資料型別

    • #支援持久化

    • ##單一執行緒多路IO復用

    Redis中的資料型別

    Redis中鍵和字串常用指令有哪些

    #redis 鍵(key)

    keys *:檢視目前庫所有key (符合: keys *1)

    Redis中鍵和字串常用指令有哪些

    exists key:判斷某個key是否存在。
    type key:查看你的key是什麼型別。
    del key:刪除指定的key數據,

    unlink key:根據value選擇非阻塞刪除。僅將keys從keyspace元資料中刪除,真正的刪除會在後續非同步操作。 。
    expire key 10:10 秒鐘,為給定的key設定過期時間,
    ttl key:查看還有多少秒過期, -1表示永不過期, -2表示已過期。

    select指令切換資料庫,
    dbsize查看目前資料庫的key的數量。
    flushdb清空目前庫。
    flushall通殺全部函式庫

    Redis字串(String)

    String是Redis 最基本的型別,一個key對應一個value。

    String類型是二進位安全的。意味著Redis的string可以包含任何資料。例如jpg圖片
    或是序列化的物件。
    String類型是Redis最基本的資料類型, 一個Redis中字串value最多可以是512M。

    常用指令

    set、get等

    set :新增鍵值對。 當設定過值的key再被設定一個新的值時,新的值會覆寫舊的。

    Redis中鍵和字串常用指令有哪些

    *NX:當資料庫中key不存在時,可以將key-value新增資料庫。

    *XX:當資料庫中key存在時,可以將key-value新增資料庫,與NX參數互斥。
    *EX: key的超時秒數。
    *PX: key 的超時毫秒數,與EX互斥。

    get 查詢對應鍵值.
    append 將給定的追加到原值的結尾,
    strlen 獲得值的長度。
    setnx 只有在key不存在時設定key的值.

    增減建的值

    incr

    將key中儲存的數字值增加1。

    只能對數字值運算,如果為空,新增值為10

    decr

    將key中儲存的數字值減1 。

    只能對數字值操作。若為空,新增值為-1。

    inrjy/ decrby 將key中儲存的數字值增減。自訂步長。

    注意:

    incr和decr是原子運算
    而java中的i 則不是原子運算

    mset、mget和msetnx

    mset ....

    同時設定一個或多個key-value對。

    Redis中鍵和字串常用指令有哪些

    mget

    同時取得一個或多個value。

    Redis中鍵和字串常用指令有哪些

    msetnx

    它是原子性的
    同時設定一個或多個key-value對,當且僅當所有給定key都不存在時,才成功。

    Redis中鍵和字串常用指令有哪些

    有一個是之前存在的則不成功

    Redis中鍵和字串常用指令有哪些

    getrange、setrange

    getrange

    #獲得值的範圍,類似java中的substring ,前包,後包

    #setrange

    用覆寫所儲存的字串值,從

    Redis中鍵和字串常用指令有哪些

    設定過期時間

    setex

    #設定鍵值的同時,設定過期時間,單位秒。

    Redis中鍵和字串常用指令有哪些

    取代舊值

    getset

    以新換舊,設定了新值同時獲得舊值。

    Redis中鍵和字串常用指令有哪些

    String的資料結構

    SDS是String資料結構的簡寫,其代表了簡單動態字串的資料結構。是可以修改的字串,內部結構實作上類似Java的ArrayList ,採用預先分配冗餘空間的方式來減少記憶體的頻繁分配。

    Redis中鍵和字串常用指令有哪些

    內部空間capacity通常比實際字串長度len更大,如圖所示。如果字串長度不足1M,則擴展時會將現有空間加倍。但如果長度超過1M,每次擴充只增加1M的空間。需要注意的是字串最大長度為512M。

    以上是Redis中鍵和字串常用指令有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    陳述:
    本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除