歡迎來(lái)到深圳市志博科技有限公司網站!
您當前的(de)位置:深圳APP開發 > 新聞資訊 > APP開發資訊 >
人(rén)
已閱讀

APP開發什(shén)麽時(shí)候需要使用(yòng)到redis數據庫

來(lái)源:lexintech.com       發布時(shí)間:2019-07-29
這(zhè)是一篇關于APP開發數據庫的(de)技術型文章(zhāng),本文分(fēn)享了(le)對(duì)redis的(de)一些較爲深入的(de)理(lǐ)解以及不錯的(de)實戰經驗。APP開發的(de)程序員(yuán)們可(kě)以了(le)解一下(xià)。
APP開發什(shén)麽時(shí)候需要使用(yòng)到redis數據庫
首先簡單介紹一下(xià)redis是什(shén)麽。借用(yòng)百度百科的(de)解釋:redis是一個(gè)key-value存儲系統。和(hé)Memcached類似,它支持存儲的(de)value類型相對(duì)更多(duō),包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set --有序集合)和(hé)hash(哈希類型)。這(zhè)些數據類型都支持push/pop、add/remove及取交集并集和(hé)差集及更豐富的(de)操作,而且這(zhè)些操作都是原子性的(de)。在此基礎上,redis支持各種不同方式的(de)排序。與memcached一樣,爲了(le)保證效率,數據都是緩存在内存中。區(qū)别的(de)是redis會周期性的(de)把更新的(de)數據寫入磁盤或者把修改操作寫入追加的(de)記錄文件,并且在此基礎上實現了(le)master-slave(主從)同步。
 
對(duì)于APP開發的(de)項目來(lái)說,redis要怎麽使用(yòng)?首先要安裝好redis,然後運行,在pom文件中引入依賴,在要使用(yòng)redis緩存的(de)類的(de)mapper.xml文件配置redis的(de)全限定名。引入redis的(de)redis.properties文件(如果要更改配置就可(kě)以使用(yòng))
 
APP開發什(shén)麽樣的(de)應用(yòng)場(chǎng)景需要用(yòng)到redis呢(ne)?
String :
1存儲json類型對(duì)象,2計數器,3優酷視頻(pín)點贊等
list(雙向鏈表)
1可(kě)以使用(yòng)redis的(de)list模拟隊列,堆,棧
2朋友圈點贊(一條朋友圈内容語句,若幹點贊語句)
 
爲什(shén)麽redis是單線程的(de)都那麽快(kuài)?原因主要有以下(xià)幾點:
1.數據存于内存
2.用(yòng)了(le)多(duō)路複用(yòng)I/O
3.單線程
 
redis也(yě)可(kě)以進行發布訂閱消息(然後可(kě)以引出哨兵(bīng)模式(後面會講)怎麽互相監督的(de),就是因爲每隔2秒哨兵(bīng)節點會發布對(duì)某節點的(de)判斷和(hé)自身的(de)信息到某頻(pín)道,每個(gè)哨兵(bīng)訂閱該頻(pín)道獲取其他(tā)哨兵(bīng)節點和(hé)主從節點的(de)信息,以達到哨兵(bīng)間互相監控和(hé)對(duì)主從節點的(de)監控)和(hé)很多(duō)專業的(de)消息隊列系統(例如Kafka、RocketMQ)相比,Redis的(de)發布訂閱略顯粗糙,例如無法實現消息堆積和(hé)回溯。但勝在足夠簡單。
 
redis還(hái)能将數據持久化(huà),将内存中的(de)數據異步寫入硬盤中,兩種方式:RDB(默認)和(hé)AOF
RDB持久化(huà)原理(lǐ):通(tōng)過bgsave命令觸發,然後父進程執行fork操作創建子進程,子進程創建RDB文件,根據父進程内存生成臨時(shí)快(kuài)照(zhào)文件,完成後對(duì)原有文件進行原子替換(定時(shí)一次性将所有數據進行快(kuài)照(zhào)生成一份副本存儲在硬盤中)
優點:是一個(gè)緊湊壓縮的(de)二進制文件,Redis加載RDB恢複數據遠(yuǎn)遠(yuǎn)快(kuài)于AOF的(de)方式。
缺點:由于每次生成RDB開銷較大(dà),非實時(shí)持久化(huà),
AOF持久化(huà)原理(lǐ):開啓後,Redis每執行一個(gè)修改數據的(de)命令,都會把這(zhè)個(gè)命令添加到AOF文件中。
優點:實時(shí)持久化(huà)。
缺點:所以AOF文件體積逐漸變大(dà),需要定期執行重寫操作來(lái)降低文件體積,加載慢(màn)
 
以上就是一些對(duì)redis的(de)簡單介紹,有興趣的(de)程序員(yuán)可(kě)以深入學習(xí)一下(xià)。
 
APP開發 網站開發 産品設計 微信公衆号 APP開發公司 用(yòng)戶體驗 APP運營 微信小程序 産品經理(lǐ) 網站設計