Redis入門-技術資料類型常用操作
一、常用資料類型字串類型
set key=value , get key output value (key值不能太長,簡單就好;value 不要大於1G長度) ① 業務情境作為計數器使用: set counter = 100; incr counter => 101; incr counter by 10 => 111; 反之 decr 同樣; 注意:incr 會將字元類型的數字轉換成數字型的處理的。
清單類型
Redis lists基於Linked Lists實現。這意味著即使在一個list中有數百萬個元素,在頭部或尾部添加一個元素的操作,其時間複雜度也是常數層級的。用LPUSH 命令在十個元素的list頭部添加新元素,和在千萬元素list頭部添加新元素的速度相同。Redis Lists用linked list實現的原因是:對於資料庫系統來說,至關重要的特性是:能非常快的在很大的列表上添加元素。另一個重要因素是,正如你將要看到的:Redis lists能在常數時間取得常數長度。lpush , rpush => rpush messages “hello???” , 在list前後插入內容。lrange 擷取list中得內容 lrange 0 10 => 從0開始擷取10個記錄。在業務情境下,壓入list的時對象的引用id,而不是內容。
集合(Sets)類型
Redis能夠將一系列不重複的值儲存成一個集合。sadd things todo1;sadd things todo2;sadd things todo3;smembers things; output 集合內的元素,不過是沒有順序的。也有其他的api對集合操作,具體詳見命令。
二、Publish/Subscribe訂閱資訊管道
subscribe todotask;pushlish todotask todeluser1;pushlish todotask todeluser2;. . .實現了阻塞式的消費者模式,將需要處理的任務封裝起來,形成task; 訂閱對應的task進行任務處理;廣播事件模式,例如商品中心商品下架,通過這樣發送訊息給關注下架商品的業務系統。注意:可以為多個 subscribe 用戶端。
按照一定模式批量訂閱
psubscribe todo* 實現批量訂閱
三 資料到期設定
ttl 擷取對應key的到期時間 , -1 為永久 。expire key second 設定失效時間。
四 事務性
redis 是通過控制命令批次執行來控制事務性的。multi 開始事務; discard 取消執行;exec 執行;
五 管理命令
info => redis等狀態的描述.dbsize => 資料庫持久化的容量.flushdb => 清除持久化的資料.
六 資料持久化資料快照
資料快照是不定時的遍曆記憶體中所有的資料檔案,儲存到硬碟上的一個 rdb的資料檔案中;這個操作是使用save命令完成的;需要在redis.conf 檔案完成如下配置進行支援的。save 900 1save 300 10900秒內有一個key發生變化,就save300秒內有10個key發生變化就save