Redis 速覽

數據淘汰策略

redis 內存數據量升到必定大小的時候,就會施行數據淘汰策略。redis 提供 6種數據淘汰策略mysql

  • voltile-lru:從已設置過時時間的數據集(server.db[i].expires)中挑選最近最少使用的數據淘汰(推薦)redis

  • volatile-ttl:從已設置過時時間的數據集(server.db[i].expires)中挑選將要過時的數據淘汰(推薦)sql

  • volatile-random:從已設置過時時間的數據集(server.db[i].expires)中任意選擇數據淘汰(不推薦)數據庫

  • allkeys-lru:從數據集(server.db[i].dict)中挑選最近最少使用的數據淘汰(推薦)dom

  • allkeys-random:從數據集(server.db[i].dict)中任意選擇數據淘汰(不推薦)code

  • no-enviction(驅逐):禁止驅逐數據(不推薦)cdn

Redis 事務

跟其餘數據庫同樣, Redis 也提供了事務機制server

在 redis 事務中,因此的命令都將串行化順序執行。 和關係型數據庫中的事務不一樣,在 redis 事務中若是某個命令執行失敗,後面的命令依然會被執行blog

事務相關命令

  • 開啓事務multi 在該命令以後的全部命令都會被存到命令隊列中,直到你提交事務後,命令隊列中的命令開始被原子化執行
  • 提交事務exec
  • 回滾事務discard

Redis 的多數據庫

就像一個 mysql 中能夠建立多個數據庫同樣,一個 redis 實例也能夠包含多個數據庫。隊列

一個 redis 實例 最多有 16 個數據庫,每一個數據庫還有對應的下標,下標從 0 到 15

客戶端鏈接時,須要指定鏈接到那個數據庫,若是不指定,默認鏈接到下標爲 0 的數據庫

鏈接到指定數據庫後,才能夠執行跟數據相關的各類命令

經常使用命令

  • 選擇要鏈接的數據庫select 2 選擇下標爲2的數據庫
  • 移動鍵到另外一個數據庫move 鍵 數據庫下標 例如 move name 1 表示將 name 移動到 1 號數據庫
相關文章
相關標籤/搜索