Redis 的 4 大法寶,2019 必學中間件html
Redis是什麼?git
全稱:REmote DIctionary Servergithub
Redis是一種key-value形式的NoSQL內存數據庫,由ANSI C編寫,遵照BSD協議、支持網絡、可基於內存亦可持久化的日誌型、Key-Value數據庫,並提供多種語言的API。redis
Redis最大的特性是它會將全部數據都放在內存中,因此讀寫速度性能很是好。固然,它也支持將內存中的數據以快照和日誌的形式持久化到硬盤,這樣即便在斷電、機器故障等異常狀況發生時數據也不會丟失,Redis能從硬盤中恢復快照數據到內存中。sql
官網:https://redis.io/數據庫
中文:http://www.redis.cn/緩存
Github:https://github.com/antirez/redis網絡
Redis有什麼優點?數據結構
一、性能高,速度快多線程
Redis命令執行速度很是快,官方給出的讀寫性能能夠達到10W/秒。爲何會如此之快呢?有如下幾個因素:
數據存儲在內存中,直接與內存鏈接。
由相對底層的C語言實現,離操做系統更近。
實現源碼很精湛,僅僅幾萬行代碼,簡單穩定。
使用了單線程模型,無多線程競爭、鎖等問題。
二、豐富的數據結構
Redis與其餘的內存數據庫不一樣的是,Redis擁有豐富的數據類型,如字符串、哈希、列表、集合、有序集合等。正是由於Redis豐富的數據類型,全部它能應用的場景很是多。
三、豐富的特性
除了支持豐富的數據結構外,還支持如下高級功能。
支持鍵過時功能,能夠用來實現定時緩存。
支持發佈/訂閱功能,能夠有來實現消息隊列。
支持事務功能,能夠保證多條命令的事務性。
支持供管道功能,可以批量處理命令。
支持Lua腳本功能。
支持集羣分片和數據複製功能。
支持內存數據持久化硬盤功能。
四、豐富的客戶端
官網索引:http://www.redis.cn/clients.html
從官網給出的客戶端列表能夠看出,各類各類的語言都能接入到Redis,接入包括了全部的主流開發語言。
目前使用Redis的公司很是多,國內外都有不少重量級的公司在用。因此,如今學習Redis是大勢所趨,學好Redis能爲本身在往後的工做謀生中增長一個強有利的競爭手段。
歡迎工做一到五年的Java工程師朋友們加入JavaQQ羣:219571750,羣內提供免費的Java架構學習資料(裏面有高可用、高併發、高性能及分佈式、Jvm性能調優、Spring源碼,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多個知識點的架構資料)合理利用本身每一分每一秒的時間來學習提高本身,不要再用"沒有時間「來掩飾本身思想上的懶惰!趁年輕,使勁拼,給將來的本身一個交代!