Redis(1):简介
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
Redis之父Salvatore Sanfilippo于2009年將Redis開源。VMware公司從2010年開始贊助Redis的開發(fā),Salvatore Sanfilippo和Pieter Noordhuis(另一名主要的代碼貢獻(xiàn)者)同年加入VMware,全職開發(fā)Redis。Redis的代碼托管在GitHub上。2015年4月,Redis發(fā)布3.0.0的正式版本。
Redis = REmote DIctionary Server(遠(yuǎn)程字典服務(wù)器)。Redis數(shù)據(jù)庫(kù)中的所有數(shù)據(jù)都存儲(chǔ)在內(nèi)存中,不過Redis提供了對(duì)持久化的支持,即可以將內(nèi)存中的數(shù)據(jù)異步寫入到硬盤中,同時(shí)不影響繼續(xù)提供服務(wù)。
Redis雖然是作為數(shù)據(jù)庫(kù)開發(fā)的,但由于其提供了豐富的功能,越來(lái)越多的人將其用作緩存系統(tǒng)。Redis可以為每個(gè)鍵設(shè)置生存時(shí)間(Time To Live,TTL),生存時(shí)間到期后鍵會(huì)自動(dòng)被刪除。這一功能配合出色的性能讓Redis可以作為緩存系統(tǒng)來(lái)使用。作為緩存系統(tǒng),Redis還可以限定數(shù)據(jù)占用的最大內(nèi)存空間,在數(shù)據(jù)達(dá)到空間限制后可以按照一定的規(guī)則自動(dòng)淘汰不需要的鍵。
安裝Redis過程略去不表。
Redis的可執(zhí)行文件說明:
| 文件名 | 說明 |
| redis-server | Redis服務(wù)器 |
| redis-cli | Redis命令行客戶端 |
| redis-benchmark | Redis性能測(cè)試工具 |
| redis-check-aof | AOF文件修復(fù)工具 |
| redis-check-dump | RDB文件檢查工具 |
| redis-sentinel | Sentinel服務(wù)器(2.8版) |
1. 啟動(dòng)Redis:
直接在命令行運(yùn)行redis-server即可啟動(dòng)Redis。Redis服務(wù)器默認(rèn)會(huì)使用6379端口,通過--port參數(shù)可以自定義端口號(hào):
$ redis-server --port 6380
2. 停止Redis:
考慮到Redis有可能正在將內(nèi)存中的數(shù)據(jù)同步到硬盤中,強(qiáng)行終止Redis進(jìn)程可能會(huì)導(dǎo)致數(shù)據(jù)丟失。正確停止Redis的方式應(yīng)該是向Redis發(fā)送SHUTDOWN命令:
$ redis-cli SHUTDOWN
當(dāng)Redis收到SHUTDOWN命令后,會(huì)先斷開所有客戶端連接,然后根據(jù)配置執(zhí)行持久化,最后完成退出。
3. Redis命令行客戶端發(fā)送命令:
通過redis-cli向Redis發(fā)送命令有兩種方式:
| 方式 | 說明 |
| 將命令作為redis-cli的參數(shù)執(zhí)行 | |
| 不附帶參數(shù)運(yùn)行redis-cli,這樣會(huì)進(jìn)入交互模式 |
4. 命令返回值:
在大多數(shù)情況下,執(zhí)行一條命令后我們往往會(huì)關(guān)心命令的返回值。命令的返回值有5種類型,對(duì)于每種類型redis-cli的展現(xiàn)結(jié)果都不同。
| 類型 | 說明 |
| 狀態(tài)回復(fù) | 最簡(jiǎn)單的一種回復(fù)。比如向Redis發(fā)送SET命令設(shè)置某個(gè)鍵的值時(shí),Redis會(huì)回復(fù)狀態(tài)OK表示設(shè)置成功。對(duì)ping命令的回復(fù)PONG也是狀態(tài)回復(fù)。狀態(tài)回復(fù)直接顯示狀態(tài)信息。 |
| 錯(cuò)誤回復(fù) | 當(dāng)出現(xiàn)命令不存在或命令格式有錯(cuò)誤等情況時(shí)Redis會(huì)返回錯(cuò)誤回復(fù)。錯(cuò)誤回復(fù)以error開頭,并在后面跟上錯(cuò)誤信息。如執(zhí)行一個(gè)不存在的命令: |
| 整數(shù)回復(fù) | Redis雖然沒有整數(shù)類型,但是卻提供了一些用于整數(shù)操作的命令,如遞增鍵值的INCR命令會(huì)以整數(shù)形式返回遞增后的鍵值。整數(shù)回復(fù)以(integer)開頭,并在后面跟上整數(shù)數(shù)據(jù): |
| 字符串回復(fù) | 最常見的一種回復(fù)類型,當(dāng)請(qǐng)求一個(gè)字符串類型鍵的鍵值或一個(gè)其他類型鍵的某個(gè)元素時(shí)就會(huì)得到一個(gè)字符串回復(fù)。字符串回復(fù)以雙引號(hào)包裹:特殊情況是當(dāng)請(qǐng)求的鍵值不存在時(shí)會(huì)得到一個(gè)空結(jié)果,顯示為(nil): |
| 多行字符串回復(fù) | 當(dāng)請(qǐng)求一個(gè)非字符串類型鍵的元素列表時(shí)就會(huì)收到多行字符串回復(fù)。多行字符串回復(fù)中的每行字符串都以一個(gè)序號(hào)開頭: |
5. 配置:
我們可以通過redis-server的啟動(dòng)參數(shù)port設(shè)置redis的端口號(hào),除此之外redis還支持其他配置選項(xiàng),如是否開啟持久化、日志級(jí)別等。
由于可以配置的選項(xiàng)較多,通過啟動(dòng)參數(shù)設(shè)置這些選項(xiàng)并不方便,所以redis支持通過配置文件來(lái)設(shè)置這些選項(xiàng)。
啟用配置文件的方法是在啟動(dòng)時(shí)將配置文件的路徑作為啟動(dòng)參數(shù)傳遞給redis-server:
通過啟動(dòng)參數(shù)傳遞同名的配置選項(xiàng)會(huì)覆蓋配置文件中相應(yīng)的參數(shù):
除此之外,還可以在redis運(yùn)行時(shí)通過CONFIG SET命令在不重新啟動(dòng)redis的情況下動(dòng)態(tài)修改部分redis的配置:
并不是所有的配置都可以使用CONFIG SET命令修改。
在運(yùn)行時(shí)也可以使用CONFIG GET命令redis當(dāng)前的配置情況:
6. 多數(shù)據(jù)庫(kù):
?
轉(zhuǎn)載于:https://my.oschina.net/u/2914561/blog/872727
總結(jié)
以上是生活随笔為你收集整理的Redis(1):简介的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 做梦梦到手抓屎是什么情况
- 下一篇: 梦到被蛇救了预示着什么