導航:首頁 > 數據處理 > redis緩存什麼數據

redis緩存什麼數據

發布時間:2024-01-24 09:36:23

A. redis數據類型和應用場景

Redis是當前比較熱門的NOSQL系統之一,它是一個開源的使用ANSI c語言編寫的key-value存儲系統(區別於MySQL的二維表格的形式存儲。),Redis數據都是緩存在計算機內存中並且它會周期性的把更新的數據寫入磁碟或者把修改操作寫入追加的記錄文件,實現數據的持久化。談到存儲數據,那麼必然要涉及到相關的數據類型,redis主要有以下數據類型:

描述:string 是 redis 最基本的類型,你可以理解成與 Memcached 一模一樣的類型,一個 key 對應一個 value。value其實不僅是String,也可以是數字。string 類型是二進制安全的。意思是 redis 的 string 可以包含任何數據。比如jpg圖片或者序列化的對象。string 類型是 Redis 最基本的數據類型,string 類型的值最大能存儲 512MB。

常用命令:get、set、incr、decr、mget等。

應用場景:規key-value緩存應用。常規計數: 點贊數, 粉絲數。

描述: hash 是一個鍵值(key => value)對集合。Redis hash 是一個 string 類型的 field 和 value 的映射表,hash 特別適合用於存儲對象。

常用命令:hget,hset,hgetall 等。

應用場景:存儲部分變更數據,如商品信息等。

描述:list 列表是簡單的字元串列表,按照插入順序排序。你可以添加一個元素到列表的頭部(左邊)或者尾部(右邊)。列表最多可存儲 232 - 1 元素 (4294967295, 每個列表可存儲40多億)。

常用命令:lpush(添加左邊元素),rpush,lpop(移除左邊第一個元素),rpop,lrange(獲取列表片段,LRANGE key start stop)等。

應用場景:消息隊列,關注列表,粉絲列表等都可以用Redis的list結構來實現。

描述: set是string類型的無序集合。集合是通過hashtable實現的,概念和數學中個的集合基本類似,可以交集,並集,差集等等,set中的元素是沒有順序的。所以添加,刪除,查找的復雜度都是O(1)。

常用命令:sadd,spop,smembers,sunion 等。

應用場景:交集,並集,差集(微博中,可以將一個用戶所有的關注人存在一個集合中,將其所有粉絲存在一個集合。Redis還為集合提供了求交集、並集、差集等操作,可以非常方便的實現如共同關注、共同喜好、二度好友等功能,對上面的所有集合操作,你還可以使用不同的命令選擇將結果返回給客戶端還是存集到一個新的集合中)

描述:zset 和 set 一樣也是string類型元素的集合,且不允許重復的成員。不同是可以打分(排序)

常用命令:zadd,zrange,zrem,zcard等

應用場景:排行榜,帶權重的消息隊列

描述:Bitmaps這個「數據結構」可以實現對位的操作。 把數據結構加上引號主要因為:
Bitmaps本身不是一種數據結構, 實際上它就是字元串 , 但是它可以對字元串的位進行操作。
Bitmaps單獨提供了一套命令, 所以在Redis中使用Bitmaps和使用字元串的方法不太相同。 可以把Bitmaps想像成一個以位為單位的數組, 數組的每個單元只能存儲0和1, 數組的下標在Bitmaps中叫做偏移量。其實大多數Bitmaps的應用場景可以用其他數據類型來實現,用Bitmaps主要是存儲空間佔用特別少

常用命令:getbit key offset;setbit key offset value

應用場景:統計用戶訪問,統計電影某天的的播放量

描述:Redis 在 2.8.9 版本添加了 HyperLogLog 結構。Redis HyperLogLog 是用來做基數統計的演算法,HyperLogLog 的優點是,在輸入元素的數量或者體積非常非常大時,計算基數所需的空間總是固定 的、並且是很小的。在 Redis 裡面,每個 HyperLogLog 鍵只需要花費 12 KB 內存,就可以計算接近 2^64 個不同元素的基 數。這和計算基數時,元素越多耗費內存就越多的集合形成鮮明對比。但是,因為 HyperLogLog 只會根據輸入元素來計算基數,而不會儲存輸入元素本身,所以 HyperLogLog 不能像集合那樣,返回輸入的各個元素。這類數據結構的基本大的思路就是使用統計概率上的演算法,犧牲數據的精準性來節省內存的佔用空間及提升相關操作的性能

常用命令:pfadd, pfcount,pfmerge

應用場景:統計網站的每日UV

描述:GEO功能在Redis3.2版本提供,支持存儲地理位置信息用來實現諸如附近位置、搖一搖這類依賴於地理位置信息的功能.geo的數據類型為zset.

常用命令:geoadd,geopos, geodist

應用場景:附近位置、搖一搖

參考列表:
Redis五種數據類型及應用場景

B. redis一般用來幹嘛



redis是一個單線程的NoSQL資料庫,主要用來做數據緩存,一般大型網站的應用和資料庫之間的那一層就是Redis。比如京東商城的頁面查找功能,用戶接觸到的查詢的第一層就是Redis數據緩存層,緩存中找不到的數據,再進入資料庫查詢。Redis中緩存熱點數據,能夠保護資料庫,提高查詢效率。

NoSQL,泛指非關系型的資料庫。隨著互聯網web2.0網站的興起,傳統的關系資料庫在處理web2.0網站,特別是超大規模和高並發的SNS類型的web2.0純動態網站已經顯得力不從心,出現了很多難以克服的問題,而非關系型的資料庫則由於其本身的特點得到了非常迅速的發展。NoSQL資料庫的產生就是為了解決大規模數據集合多重數據種類帶來的挑戰,特別是大數據應用難題。
閱讀全文

與redis緩存什麼數據相關的資料

熱點內容
手游代理需要注意哪些 瀏覽:906
更新附加信息是什麼 瀏覽:970
電子信技術是什麼 瀏覽:37
二手車交易到本市怎麼退檔 瀏覽:617
如何通知老客戶增加新產品 瀏覽:319
做代理需要什麼設備 瀏覽:925
產品包裝盒信息地址在什麼位置 瀏覽:672
微信項目介紹價格如何代理 瀏覽:108
怎麼代理習宴酒 瀏覽:661
表頭填什麼信息最好 瀏覽:161
武清市有哪些市場 瀏覽:716
淘寶店鋪怎麼判定虛假交易的 瀏覽:282
導航系統數據流量哪個好 瀏覽:911
丹東哪裡有玉石交易市場 瀏覽:359
調取對方身份信息需要多久 瀏覽:694
怎麼查西數硬碟是哪個代理的 瀏覽:95
聚羧酸減水劑技術員主要干什麼 瀏覽:943
玩游戲沒有及時回女生信息怎麼辦 瀏覽:358
反饋信息來源怎麼寫 瀏覽:327
怎麼讓程序運行手機黑屏 瀏覽:685