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 也提供了事務機制server
在 redis 事務中,因此的命令都將串行化順序執行。 和關係型數據庫中的事務不一樣,在 redis 事務中若是某個命令執行失敗,後面的命令依然會被執行blog
multi
在該命令以後的全部命令都會被存到命令隊列中,直到你提交事務後,命令隊列中的命令開始被原子化執行exec
discard
就像一個 mysql 中能夠建立多個數據庫同樣,一個 redis 實例也能夠包含多個數據庫。隊列
一個 redis 實例 最多有 16 個數據庫,每一個數據庫還有對應的下標,下標從 0 到 15
客戶端鏈接時,須要指定鏈接到那個數據庫,若是不指定,默認鏈接到下標爲 0 的數據庫
鏈接到指定數據庫後,才能夠執行跟數據相關的各類命令
select 2
選擇下標爲2的數據庫move 鍵 數據庫下標
例如 move name 1 表示將 name 移動到 1 號數據庫