今天給大家帶來的是redis的基礎介紹,作為大數據開發學習中重要的一部分,redis在大數據開發的工作中,佔據著不小的用處。下面我們就來看看redis的一些基礎知識。
一、引言
在Web應用發展的初期,那時關係型資料庫受到了較為廣泛的關注和應用,原因是因為那時候Web站點基本上訪問和並發不高、交互也較少。而在後來,隨著訪問量的提升,使用關係型資料庫的Web站點多多少少都開始在性能上出現了一些瓶頸,而瓶頸的源頭一般是在磁碟的I/O上。而隨著互聯網技術的進一步發展,各種類型的應用層出不窮,這導致在當今雲計算、大數據盛行的時代,對性能有了更多的需求,主要體現在以下四個方面:
1.低延遲的讀寫速度:應用快速地反應能極大地提升用戶的滿意度
2.支撐海量的數據和流量:對於搜索這樣大型應用而言,需要利用PB級別的數據和能應對百萬級的流量
3.大規模集群的管理:系統管理員希望分散式應用能更簡單的部署和管理
4.龐大運營成本的考量:IT部門希望在硬體成本、軟體成本和人力成本能夠有大幅度地降低
為了克服這一問題,NoSQL應運而生,它同時具備了高性能、可擴展性強、高可用等優點,受到廣泛開發人員和倉庫管理人員的青睞。

二、什麼是Redis
Redis是由義大利人Salvatore Sanfilippo(網名:antirez)開發的一款內存高速緩存資料庫。Redis全稱為:Remote Dictionary Server(遠程數據服務),該軟體使用C語言編寫,Redis是一個key-value存儲系統,它支持豐富的數據類型,如:string、list、set、zset(sorted set)、hash。
三、 Redis特點
Redis以內存作為數據存儲介質,所以讀寫數據的效率極高,遠遠超過資料庫。以設置和獲取一個256位元組字元串為例,它的讀取速度可高達110000次/s,寫速度高達81000次/s。
Redis跟memcache不同的是,儲存在Redis中的數據是持久化的,斷電或重啟後,數據也不會丟失。因為Redis的存儲分為內存存儲、磁碟存儲和log文件三部分,重啟後,Redis可以從磁碟重新將數據載入到內存中,這些可以通過配置文件對其進行配置,正因為這樣,Redis才能實現持久化。
Redis支持主從模式,可以配置集群,這樣更利於支撐起大型的項目,這也是Redis的一大亮點。

四、Redis應用場景,它能做什麼
眾多語言都支持Redis,因為Redis交換數據快,所以在伺服器中常用來存儲一些需要頻繁調取的數據,這樣可以大大節省系統直接讀取磁碟來獲得數據的I/O開銷,更重要的是可以極大提升速度。
拿大型網站來舉個例子,比如a網站首頁一天有100萬人訪問,其中有一個板塊為推薦新聞。要是直接從資料庫查詢,那麼一天就要多消耗100萬次資料庫請求。上面已經說過,Redis支持豐富的數據類型,所以這完全可以用Redis來完成,將這種熱點數據存到Redis(內存)中,要用的時候,直接從內存取,極大的提高了速度和節約了伺服器的開銷。
Github、twitter、微博、Stack 、Overflow、阿里巴巴、百度、美團、搜狐都在用redis。

總之,Redis的應用是非常廣泛的,而且極有價值,真是伺服器中的一件利器,在大數據開發的應用中也是必不可少的。
希望大家點個關注,及時收取最新文章推送,想了解更多敬請諮詢加米穀大數據。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/252477.html