Redis的安裝與使用
發(fā)表時(shí)間:2023-07-27 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]Redis簡(jiǎn)介 已經(jīng)有了Membercache和各種數(shù)據(jù)庫(kù),Redis為什么會(huì)產(chǎn)生?Redis純粹為應(yīng)用而產(chǎn)生,它是一個(gè)高性能的key-value數(shù)據(jù)庫(kù)。 redis的出現(xiàn),很大程度補(bǔ)償了memca...
Redis簡(jiǎn)介
已經(jīng)有了Membercache和各種數(shù)據(jù)庫(kù),Redis為什么會(huì)產(chǎn)生?Redis純粹為應(yīng)用而產(chǎn)生,它是一個(gè)高性能的key-value數(shù)據(jù)庫(kù)。 redis的出現(xiàn),很大程度補(bǔ)償了memcached這類keyvalue存儲(chǔ)的不足,解決了斷電后數(shù)據(jù)完全丟失的情況;在部分場(chǎng)合可以對(duì)關(guān)系數(shù)據(jù)庫(kù)起到很好的補(bǔ)充作用。性能測(cè)試結(jié)果表示SET操作每秒鐘可達(dá)110000次,GET操作每秒81000次(當(dāng)然不同的服務(wù)器配置性能不同)。
Redis是一種面向“鍵/值”對(duì)類型數(shù)據(jù)的分布式NoSQL數(shù)據(jù)庫(kù)系統(tǒng),特點(diǎn)是高性能,持久存儲(chǔ),適應(yīng)高并發(fā)的應(yīng)用場(chǎng)景。和Memcached類似,它支持存儲(chǔ)的value類型相對(duì)更多,包括string(字符串)、list(鏈表)、set(集合)和zset(有序集合)。 這些數(shù)據(jù)類型支持push/pop、add/remove及取交集并集和差集及更豐富的操作,而且這些操作都是原子性的,支持各種不同方式的排序。redis 與memcached一樣,為了保證效率,數(shù)據(jù)都是緩存在內(nèi)存中。區(qū)別的是redis會(huì)周期性的把更新的數(shù)據(jù)寫入磁盤或者把修改 操作寫入追加的記錄文件,并且在此基礎(chǔ)上實(shí)現(xiàn)了master-slave(主從)同步。
redis目前提供四種數(shù)據(jù)類型:string,list,set及zset(sorted set)。
Redis的存儲(chǔ)分為內(nèi)存存儲(chǔ)、磁盤存儲(chǔ)和log文件三部分,配置文件中有三個(gè)參數(shù)對(duì)其進(jìn)行配置。
save seconds updates :指出在多長(zhǎng)時(shí)間內(nèi),有多少次更新操作,就將數(shù)據(jù)同步到數(shù)據(jù)文件。
appendonly yes/no :是否在每次更新操作后進(jìn)行日志記錄。如果不開(kāi)啟,可能會(huì)在斷電時(shí)導(dǎo)致一段時(shí)間內(nèi)的數(shù)據(jù)丟失。因?yàn)閞edis本身同步數(shù)據(jù) 文件是按上面的save條件來(lái)同步的,所以有的數(shù)據(jù)會(huì)在一段時(shí)間內(nèi)只存在于內(nèi)存中。
appendfsync no/always/everysec :數(shù)據(jù)緩存同步至磁盤的方式。no表示等操作系統(tǒng)進(jìn)行數(shù)據(jù)緩存同步到磁盤,always表示每次更新操作后手動(dòng)調(diào)用fsync()將數(shù)據(jù)寫到磁盤,everysec表示每秒同步一次。
Windows下Redis的安裝及使用
先在網(wǎng)上下載redis,我下載的是redis-2.0.2,我解壓到了和安裝Python相同的目錄下,進(jìn)入redis-2.0.2,下面有這幾個(gè)文件:
redis-server.exe redis服務(wù)器的daemon啟動(dòng)程序
redis.conf redis配置文件
redis-cli.exe redis命令行操作工具。當(dāng)然,也可以用telnet根據(jù)其純文本協(xié)議來(lái)操作
redis-check-dump.exe 本地?cái)?shù)據(jù)庫(kù)檢查
redis-check-aof.exe 更新日志檢查
redis-benchmark.exe 性能測(cè)試,用以模擬同時(shí)由N個(gè)客戶端發(fā)送M個(gè) SETs/GETs 查詢 (類似于 Apache的 ab 工具)
benchmark工具測(cè)試信息:
向redis服務(wù)器發(fā)送10萬(wàn)個(gè)請(qǐng)求,每個(gè)請(qǐng)求附帶60個(gè)并發(fā)客戶端
哎呀,我的電腦有點(diǎn)吃不消了,不過(guò)最終還是顯示出了4.03秒完成了10萬(wàn)個(gè)請(qǐng)求的測(cè)試,
部分結(jié)果截圖如下:
啟動(dòng)Redis服務(wù)(conf文件制定配置文件(redis-server.exe redis.conf ),若不指定則默認(rèn)):
啟動(dòng)cmd窗口要一直開(kāi)著,關(guān)閉后則Redis服務(wù)關(guān)閉。
這時(shí)服務(wù)開(kāi)啟著,另外開(kāi)一個(gè)cmd窗口進(jìn)行,設(shè)置客戶端:
C:\redis-2.0.2>redis-cli.exe -h 127.0.0.1 -p 6379
然后我們就可以在這里輸入我們想要輸入的命令,redis很重要的一個(gè)操作就是set和get
客戶端如下:
此時(shí)服務(wù)器端(這里也是本機(jī))顯示如下(有一個(gè)客戶端連接了):
上述在客戶端設(shè)置的key是常駐內(nèi)存的,就是關(guān)閉窗口,下次開(kāi)窗口get key的值還是“jzhou”,呵呵。
(注意操作時(shí),服務(wù)器端一定要開(kāi)啟服務(wù),否則客戶端連不上。)
Redis提供了多種語(yǔ)言的客戶端,包括Java,C++,python。
以上就是?Redis的安裝與使用的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!
學(xué)習(xí)教程快速掌握從入門到精通的SQL知識(shí)。