您好,登錄后才能下訂單哦!
小編給大家分享一下Redis怎么安裝部署,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
一、Redis是什么
Redis:REmote DIctionary Server(遠(yuǎn)程字典服務(wù)器)
Redis是完全開源免費(fèi)的,用C語言編寫的,遵守BSD協(xié)議的一個(gè)高性能的(key/value)分布式內(nèi)存數(shù)據(jù)庫
,也是基于內(nèi)存運(yùn)行并支持持久化的NoSQL數(shù)據(jù)庫
,是當(dāng)前最熱門的NoSql數(shù)據(jù)庫之一,也被人們稱為數(shù)據(jù)結(jié)構(gòu)服務(wù)器。同時(shí),Redis也是一個(gè)簡單的、高效的、分布式的、基于內(nèi)存的緩存工具
。架構(gòu)好服務(wù)器后,通過網(wǎng)絡(luò)連接(類似數(shù)據(jù)庫),提供Key-Value式緩存服務(wù)。
Redis有以下幾個(gè)優(yōu)勢:
1.性能極高
Redis讀的速度是11萬次/s,寫的速度是8萬次/秒。
2.豐富的數(shù)據(jù)類型
Redis支持的類型有String、Hash、List、Set以及Ordered Set數(shù)據(jù)庫類型。
3.原子性
Redis所有操作都是原子性的,通過MULTI和EXEC指令包起來。
4.豐富的讀寫
Redis支持publish/subscribe、通知、key過期等特性。
5.高速讀寫
redis使用自己實(shí)現(xiàn)的分離器,代碼量很短,沒有使用lock(MySQL),因此效率非常高。
Redis也有以下幾個(gè)劣勢:
1.持久化
Redis直接將數(shù)據(jù)存儲(chǔ)在內(nèi)存中,如果要將數(shù)據(jù)保存到磁盤上,第一種方法是使用①定時(shí)快照(snapshot)
:每隔一段時(shí)間將整個(gè)數(shù)據(jù)庫寫到磁盤上,每次均是寫全部數(shù)據(jù),但是代價(jià)非常高;第二種方法是②基于語句追加(aof)
:只追蹤變化的數(shù)據(jù),但是追加的log可能過大,同時(shí)所有的操作均重新執(zhí)行一遍,恢復(fù)速度慢。
2.耗內(nèi)存
,占用內(nèi)存過高。
二、Redis能干什么
企業(yè)開發(fā)中,可以將Redis作為數(shù)據(jù)庫、緩存、熱點(diǎn)數(shù)據(jù)(經(jīng)常被查詢但是不被修改和刪除的數(shù)據(jù))、消息中間件等大部分功能。
Redis的常用場景實(shí)例如下:
緩存
如今緩存幾乎是所有中大型網(wǎng)站都在用的必殺技,合理的利用緩存不僅能夠提升網(wǎng)站的訪問速度,還能大大降低數(shù)據(jù)庫的壓力。Redis提供了鍵過期的功能,也提供了靈活的鍵淘汰策略。
排行榜
如淘寶的月度銷量榜單、商品按時(shí)間的上新排行榜等。Redis提供的有序集合數(shù)據(jù)類構(gòu)能實(shí)現(xiàn)各種復(fù)雜的排行榜應(yīng)用。
計(jì)數(shù)器
如電商網(wǎng)站商品的瀏覽量、視頻網(wǎng)站視頻的播放數(shù)等。為了保證數(shù)據(jù)實(shí)時(shí)效,每次瀏覽都得給+1,并發(fā)量高時(shí)如果每次都請求數(shù)據(jù)庫操作無疑是種挑戰(zhàn)和壓力。Redis提供的incr命令來實(shí)現(xiàn)計(jì)數(shù)器功能,內(nèi)存操作,性能非常好,非常適用于這些計(jì)數(shù)場景。
分布式會(huì)話
集群模式下,在應(yīng)用不多的情況下一般使用容器自帶的session復(fù)制功能就能滿足,在應(yīng)用增多相對復(fù)雜的系統(tǒng)中,一般都會(huì)搭建以Redis等內(nèi)存數(shù)據(jù)庫為中心的session服務(wù),session不再由容器管理,而是由session服務(wù)及內(nèi)存數(shù)據(jù)庫管理。
分布式鎖
分布式技術(shù)帶來的技術(shù)挑戰(zhàn)是對同一個(gè)資源的并發(fā)訪問,如全局ID、減庫存、秒殺等場景,并發(fā)量不大的場景可以使用數(shù)據(jù)庫的悲觀鎖、樂觀鎖來實(shí)現(xiàn),但在并發(fā)量高的場合中,利用數(shù)據(jù)庫鎖來控制資源的并發(fā)訪問是不太理想的,大大影響了數(shù)據(jù)庫的性能??梢岳肦edis的setnx功能來編寫分布式的鎖,如果設(shè)置返回1說明獲取鎖成功,否則獲取鎖失敗,實(shí)際應(yīng)用中要考慮的細(xì)節(jié)要更多。
社交網(wǎng)絡(luò)
點(diǎn)贊、踩、關(guān)注/被關(guān)注、共同好友等是社交網(wǎng)站的基本功能,社交網(wǎng)站的訪問量通常來說比較大,而且傳統(tǒng)的關(guān)系數(shù)據(jù)庫類型不適合存儲(chǔ)這種類型的數(shù)據(jù),Redis提供的哈希、集合等數(shù)據(jù)結(jié)構(gòu)能很方便的的實(shí)現(xiàn)這些功能。
最新列表
Redis列表結(jié)構(gòu),LPUSH可以在列表頭部插入一個(gè)內(nèi)容ID作為關(guān)鍵字,LTRIM可用來限制列表的數(shù)量,這樣列表永遠(yuǎn)為N個(gè)ID,無需查詢最新的列表,直接根據(jù)ID去到對應(yīng)的內(nèi)容頁即可。
消息系統(tǒng)
消息隊(duì)列是大型網(wǎng)站必用中間件,如ActiveMQ、RabbitMQ、Kafka等流行的消息隊(duì)列中間件,主要用于業(yè)務(wù)解耦、流量削峰及異步處理實(shí)時(shí)性低的業(yè)務(wù)。Redis提供了發(fā)布/訂閱及阻塞隊(duì)列功能,能實(shí)現(xiàn)一個(gè)簡單的消息隊(duì)列系統(tǒng)。但是,這個(gè)不能和專業(yè)的消息中間件相比。
三、Redis下載與安裝部署
由于企業(yè)里面做Redis開發(fā),99%都是Linux版的運(yùn)用和安裝,所以本文僅介紹Linux下的安裝與運(yùn)行,Windows下的安裝使用小伙伴們可以自行百度。前往上面的官網(wǎng)點(diǎn)擊Download下載.gz
安裝包后,放在Linux下的/opt
目錄 (我這里安裝的是Redis的6.0.5版本)。
解壓命令為:tar -zxvf redis-6.0.5.tar.gz
上述命令只是解壓了Redis,如果想要安裝Redis,需要Linux系統(tǒng)有g(shù)cc環(huán)境,如果沒有可以使用
yum install gcc-c++
安裝,然后使用gcc -v
查看版本。
如果Linux環(huán)境已經(jīng)有了gcc環(huán)境,直接使用下面的命令進(jìn)行安裝:
安裝命令為:make install
安裝好默認(rèn)是像Tomcat那樣不能開機(jī)自啟的,可以修改 redis.conf 文件中的 daemonize 屬性為yes。
開啟redis服務(wù):redis-server /myredis/redis.conf
(此處為修改屬性后的redis配置文件)
查看后臺Redis服務(wù)是否啟動(dòng):
ps -ef|grep redis
開啟Redis服務(wù):
redis-cli -p 6379
正常關(guān)閉,數(shù)據(jù)會(huì)進(jìn)行保存
在redis命令行中使用shutdown
命令關(guān)閉。
非正常關(guān)閉,易導(dǎo)致數(shù)據(jù)丟失
斷電、手動(dòng)kill掉redis進(jìn)程等。
幾個(gè)其他的redis命令
四、Redis的幾個(gè)小知識
Redis是一個(gè)單進(jìn)程,使用單進(jìn)程模型來處理客戶端的請求。對讀寫等事件的響應(yīng)是通過對epoll函數(shù)的包裝來做到的。Redis的實(shí)際處理速度完全依靠主進(jìn)程的執(zhí)行效率。
epoll是Linux內(nèi)核為處理大批量文件描述符而作了改進(jìn)的epoll,是Linux下多路復(fù)用IO接口select/poll的增強(qiáng)版本,它能顯著提高程序在大量并發(fā)連接中只有少量活躍的情況下的系統(tǒng)CPU利用率。
Redis默認(rèn)有16個(gè)數(shù)據(jù)庫,下標(biāo)從零開始,初始默認(rèn)使用零號庫,可以使用SELECT <dbid>
命令連接上指定數(shù)據(jù)庫。
dbsize
指令可以查看當(dāng)前數(shù)據(jù)庫的key的數(shù)量,keys *
查看所有的key。
flushdb
:清空當(dāng)前庫(慎用)
Flushall
:清空全部庫(慎用)
統(tǒng)一密碼管理,16個(gè)庫都是同樣密碼,要么都OK要么一個(gè)也連接不上。
Redis索引都是從零開始
Redis默認(rèn)端口是6379
以上是“Redis怎么安裝部署”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。