NoSQL和Redis簡介及Redis在Windows下的安裝和使用教程_Redis

來源:互聯網
上載者:User

NoSQL簡介

介紹redis前,我想還是先認識下NoSQL,即not only sql, 是一種非關係型的資料存放區,key/value索引值對儲存。現有Nosql DB 產品: Redis/MongoDB/Memcached/Hbase/Cassandra/ Tokyo Cabinet/Voldemort/Dynomite/Riak/ CouchDB/Hypertable/Flare/Tin/Lightcloud/ KiokuDB/Scalaris/Kai/ThruDB, 等等~~~

為什麼需要NoSQL非關係型資料庫?

1.High performance - 對資料庫高並發讀寫的需求
2.Huge Storage - 對海量資料的高效率儲存和訪問的需求
3.High Scalability && High Availability- 對資料庫的高可擴充性和高可用性的需求

Redis簡介

已經有了Membercache和各種資料庫,Redis為什麼會產生?Redis純粹為應用而產生,它是一個高效能的key-value資料庫。 redis的出現,很大程度補償了memcached這類keyvalue儲存的不足,解決了斷電後資料完全丟失的情況;在部分場合可以對關聯式資料庫起到很好的補充作用。效能測試結果表示SET操作每秒鐘可達110000次,GET操作每秒81000次(當然不同的伺服器配置效能不同)。

Redis是一種面向“鍵/值”對類型資料的分布式NoSQL資料庫系統,特點是高效能,持久儲存,適應高並發的應用情境。和Memcached類似,它支援儲存的value類型相對更多,包括string(字串)、list(鏈表)、set(集合)和zset(有序集合)。 這些資料類型支援push/pop、add/remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的,支援各種不同方式的排序。redis 與memcached一樣,為了保證效率,資料都是緩衝在記憶體中。區別的是redis會周期性的把更新的資料寫入磁碟或者把修改 操作寫入追加的記錄檔案,並且在此基礎上實現了master-slave(主從)同步。

redis目前提供四種資料類型:string,list,set及zset(sorted set)。

Redis的儲存分為記憶體儲存、磁碟儲存和log檔案三部分,設定檔中有三個參數對其進行配置。

1.save seconds updates :指出在多長時間內,有多少次更新操作,就將資料同步到資料檔案。
2.appendonly yes/no :是否在每次更新操作後進行日誌記錄。如果不開啟,可能會在斷電時導致一段時間內的資料丟失。因為3.redis本身同步資料 檔案是按上面的save條件來同步的,所以有的資料會在一段時間內只存在於記憶體中。
appendfsync no/always/everysec :資料緩衝同步至磁碟的方式。no表示等作業系統進行資料緩衝同步到磁碟,always表示每次更新操作後手動調用fsync()將資料寫到磁碟,everysec表示每秒同步一次。

Windows下Redis的安裝及使用

先在網上下載redis,我下載的是redis-2.0.2(http://download.csdn.net/download/linyu19872008/4179367),我解壓到了和安裝python相同的目錄下,進入redis-2.0.2,下面有這幾個檔案:

redis-server.exe       redis伺服器的daemon啟動程式
redis.conf                redis設定檔
redis-cli.exe             redis命令列操作工具。當然,也可以用telnet根據其純文字協議來操作
redis-check-dump.exe         本機資料庫檢查
redis-check-aof.exe             更新日誌檢查
redis-benchmark.exe       效能測試,用以類比同時由N個用戶端發送M個 SETs/GETs 查詢 (類似於 Apache的 ab 工具)

benchmark工具測試資訊:

向redis伺服器發送10萬個請求,每個請求附帶60個並發用戶端

哎呀,我的電腦有點吃不消了,不過最終還是顯示出了4.03秒完成了10萬個請求的測試,

部分結果截圖如下:

啟動Redis服務(conf檔案制定設定檔(redis-server.exe  redis.conf ),若不指定則預設):

啟動cmd視窗要一直開著,關閉後則Redis服務關閉。

這時服務開啟著,另外開一個cmd視窗進行,設定用戶端:

複製代碼 代碼如下:

C:\redis-2.0.2>redis-cli.exe -h 127.0.0.1 -p 6379

然後我們就可以在這裡輸入我們想要輸入的命令,redis很重要的一個操作就是set和get

用戶端如下:

此時伺服器端(這裡也是本機)顯示如下(有一個用戶端串連了):

上述在用戶端設定的key是常駐記憶體的,就是關閉視窗,下次開視窗get  key的值還是“jzhou”,呵呵。

(注意操作時,伺服器端一定要開啟服務,否則用戶端連不上。)

Redis提供了多種語言的用戶端,包括Java,C++,python。

python操作redis

若要用python操作redis,則需下載一個redis的python開發包redis-py(這個網上有https://github.com/andymccurdy/redis-py)下載下來後我將它放在了python的安裝目錄下,進入redis-py目錄,執行setup.py(需要下載setuptools,然後執行python setup.py install 就OK了)

幾秒鐘就安裝好了,進入python環境,呵呵,隨便做點啥,以表明redis匯入成功了:

我退出了cmd,想直接在python的IDE中來import  redis,但是匯入失敗了,提示不存在此模組,我想了想,哦,我應該將redis-py這個路徑加入系統內容變數,這樣python就能識別了,果真如此,我將"C:\Python27\redis-py",加入了系統path,再次在python內建的IDE中操作redis成功了,這樣就不用每次在cmd那黑框框中輸入了。

初識redis第一課,如有錯誤,敬請指出。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.