標籤:簡單 輸入 可靠 ras sso 驅動 center 輕量級 jsb
Redis簡介
Redis是一個開源的,使用C語言編寫,面向“鍵/值”對類型資料的分布式NoSQL資料庫系統,特點是高效能,持久儲存,適應高並發的應用情境。Redis純粹為應用而產生,它是一個高效能的key-value資料庫,並且提供了多種語言的API
效能測試結果表示SET操作每秒鐘可達110000次,GET操作每秒81000次(當然不同的伺服器配置效能不同)。
Redis目前提供五種資料類型:string(字串),list(鏈表), Hash(雜湊),set(集合)及zset(sorted set) (有序集合)
Redis開發維護很活躍,雖然它是一個Key-Value資料庫儲存系統,但它本身支援MQ功能,所以完全可以當做一個輕量級的佇列服務來使用。對於RabbitMQ和Redis的入隊和出隊操作,各執行100萬次,每10萬次記錄一次執行時間。測試資料分為128Bytes、512Bytes、1K和10K四個不同大小的資料。實驗表明:入隊時,當資料比較小時Redis的效能要高於RabbitMQ,而如果資料大小超過了10K,Redis則慢的無法忍受;出隊時,無論資料大小,Redis都表現出非常好的效能,而RabbitMQ的出隊效能則遠低於Redis。
Redis與Memcached的比較
1.Memcached是多線程,而Redis使用單線程.
2.Memcached使用預分配的記憶體池的方式,Redis使用現場申請記憶體的方式來儲存資料,並且可以配置虛擬記憶體。
3.Redis可以實現持久化,主從複製,實現故障恢複。
4.Memcached只是簡單的key與value,但是Redis支援資料類型比較多。
Redis的儲存分為記憶體儲存、磁碟儲存 .從這一點,也說明了Redis與Memcached是有區別的。Redis 與Memcached一樣,為了保證效率,資料都是緩衝在記憶體中。區別的是redis會周期性的把更新的資料寫入磁碟或者把修改 操作寫入追加的記錄檔案,並且在此基礎上實現了master-slave(主從)同步。
Redis有兩種儲存方式,預設是snapshot方式,實現方法是定時將記憶體的快照(snapshot)持久化到硬碟,這種方法缺點是持久化之後如果出現crash則會丟失一段資料。因此在完美主義者的推動下作者增加了aof方式。aof即append only mode,在寫入記憶體資料的同時將操作命令儲存到記錄檔,在一個並發更改上萬的系統中,命令日誌是一個非常龐大的資料,管理維護成本非常高,恢複重建時間會非常長,這樣導致失去aof高可用性本意。另外更重要的是Redis是一個記憶體資料結構模型,所有的優勢都是建立在對記憶體複雜資料結構高效的原子操作上,這樣就看出aof是一個非常不協調的部分。
其實aof目的主要是資料可靠性及高可用性.
Redis安裝
文章的最後我提供了下載包,當然你也可以去官網下載最新版本的Redis http://pan.baidu.com/s/1pK8BMGF
將服務程式拷貝到一個磁碟上的目錄,如:
檔案說明:
redis-server.exe:服務程式
redis-check-dump.exe:本機資料庫檢查
redis-check-aof.exe:更新日誌檢查
redis-benchmark.exe:效能測試,用以類比同時由N個用戶端發送M個 SETs/GETs 查詢.
redis-cli.exe: 服務端開啟後,我們的用戶端就可以輸入各種命令測試了
1、開啟一個cmd視窗,使用cd命令切換到指定目錄(F:\Redis)運行 redis-server.exe redis.conf
2、重新開啟一個cmd視窗,使用cd命令切換到指定目錄(F:\Redis)運行 redis-cli.exe -h 127.0.0.1 -p 6379,其中 127.0.0.1是本地ip,6379是redis服務端的預設連接埠 (這樣可以開啟一個用戶端程式進行特殊指令的測試).
可以將此服務設定為windows系統服務,下載Redis服務安裝軟體,安裝即可。
如果你的電腦是64bit系統,可以下載http://pan.baidu.com/s/1slPcW93
安裝完成Redis服務後,我們會在電腦的服務裡面看到
然後啟動此服務。
接下來在使用Redis時,還需要下載C#驅動(也就是C#開發庫),如:
源碼地址:http://pan.baidu.com/s/1hr8kdOo
windows 環境下.Net使用Redis緩衝