《Redis設計與實現》- 資料庫

來源:互聯網
上載者:User

標籤:顯示   切換   雜湊   pex   pre   字元   sel   就是   at命令   

1. 伺服器中資料庫結構

Redis 伺服器將所有資料庫都儲存在伺服器狀態 redisServer 結構的 db 數組中,由 redisDb 結構代表一個資料庫

    struct redisServer {        // ...        // 一個數組,儲存著伺服器中的所有資料庫        redisDb *db;    }

Redis 伺服器預設會建立16個資料庫,預設情況下,Redis用戶端的目標資料庫是0號資料庫。

2. 切換資料庫

SELECT 命令用來切換資料庫

    redis> SELECT 2    OK    redis[2]>            //切換到了2號資料庫

注意:
在執行Redis命令,特別是像FLUSHDB這樣的危險命令之前,最好先執行一個SELECT命令,顯示的切換到指定的資料庫,然後在執行別的命名。

3. 資料庫鍵空間

Redis是一個索引值對資料庫伺服器,伺服器中的每個資料庫都由一個redisDb結構表示。其中,redisDb結構的dict字典儲存了資料庫中所有索引值對,我們將這個字典稱為鍵空間。

    typedef struct redisDb {        // ...        // 資料庫鍵空間,儲存著資料庫中所有的索引值對        dict *dict;    }
  • 鍵空間的鍵也就是資料庫的鍵,每個鍵都是一個字串對象
  • 鍵空間的值也就是資料庫的值,每個值可以是字串對象、列表對象、雜湊表對象、集合對象和有序集合對象中的任意一種Redis對象。
4. 鍵到期4.1 設定鍵到期命令

Redis有四個不同的命令用於設定鍵的存留時間或者到期時間

  • EXPIRE <key>
  • PEXPIRE
  • EXPIREAT
  • PEXPIREAT

EXPIRE、PEXPIRE、EXPIREAT 三個命令都是調用PEXPIREAT命令來實現的。

4.2 移除鍵到期命令
  • PERSIST命令用於移除鍵key的到期時間
    用法:PERSIST
    redis>EXPIRE msg 1000   // 設定鍵msg1000秒後到期    1    redis>TTL msg    996    redis>PERSIST msg     1    redis>TTL msg    -1      // 傳回值為-1,說明msg沒有設定到期時間
4.3 計算並返回剩餘存留時間
  • TTL命令以秒為單位返回鍵的剩餘存留時間
  • PTTL命令以毫秒為單位返回鍵的剩餘存留時間

《Redis設計與實現》- 資料庫

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.