前面學會了單機, 學會了集群, 但是redis咋用啊? 或者說, redis支援哪些資料型別呢?
常用的有五種: string , hash, list, set, zset(sortedset)
string 型別, 在前面也是使用過的. 直接來看一下
可以使用del name來刪除快取
push指令:
push分兩個, 乙個從左邊push, 乙個從右邊push. 但是這個左右, 是對準備push的值而言的. 而不是針對將要push的陣列來說的.
pop指令
pop同樣的, 也有兩個. 這次是針對list來說的了
hash與前面的都不同, 這裡是 key - field - value
相當於是, key是乙個大類, 對應了乙個 map, field就相當於是map的key, value相當於是map的value
hset進行賦值, hget用來獲取值.
hset name 1 elvin 這麼看, 是不是有點像往表裡面查資料的感覺, 只不過我的field用的是數值字串
hash 有乙個很好的用途:
比如, 我對一張表 t_usr 進行操作, 有乙個新增方法, 可以返回乙個id, 那麼我是否可以將資料進行快取起來, hset t_usr id 值
那, 查詢的時候, 可以先進行快取的查詢, 如果查詢不到, 或者查詢出來是空, 再去資料庫中查詢一次, hget t_usr id.
用這樣的方式, 是不是可以對那些訪問量比較大的地方, 進行加速訪問.
那既然使用到了快取, 就牽涉到乙個快取同步的問題了. 怎麼解決呢?
乙個很簡單的方式. 在呼叫刪除方法的時候, 可以 hdel t_usr id, 這樣, 在下一次查詢的時候, 是不是就會去查資料庫, 並將查詢的結果進行快取, 就在刪除資料的時候, 實現了資料同步.
同樣的, 在修改的時候, 也可以做到資料同步, 不過這次有的選了, 可以選擇刪除快取資料, 也可以選擇更新快取資料.
set集合中的元素, 是不能重複的, 而且是無順序的.
這裡我將5,1重複寫入, 但是很明顯, 只保留了乙份, list 則不會出現這種情況.
zset 與 set 稍有不同, 不是說可以重複, 而是他是有順序的. 而且這個順序是我們自己來設定的.
zadd新增指令:
從上圖看, 最後的順序, 是根據我們指定的分值來排序的.
zrem 刪除指令:
更詳細的指令可見:
redis常見的5種不同的資料型別詳解
Redis 五種資料型別
一 前言 上篇部落格已經對redis的一些基本知識做了一些簡介,這篇部落格,將簡單介紹一些redis的五種資料型別。分別為string 字串 hash 雜湊 list 鍊錶 set 集合 zset 有序集合 對這些型別可以執行很多原子性的操作 比如向乙個string型別的value後面追加字串 向l...
Redis 五種資料型別
目錄 redis共有strings hashs lists sets sorted sets五種資料型別,可以說已經比較豐富了。下面只對這幾種資料型別的資料結構與用途做簡要介紹。至於每種資料型別的操作api,這裡只簡單一提,不再一一詳細介紹,有需要的使用者可以google即可。string是最簡單的...
Redis 五種資料型別
redis支援五種資料型別 string 字串 hash 雜湊 list 列表 set 集合 及zset sorted set 有序集合 資料型別一 字串 0.1 6379 set name hubotao2 ok127.0 0.1 6379 get name hubotao2 資料型別二 hash...