NoSQL之Windows下Redis的測試使用

来源:http://www.cnblogs.com/gdsblog/archive/2017/07/08/7135960.html
-Advertisement-
Play Games

NoSQL簡介 介紹Redis前,我想還是先認識下NoSQL,即not only sql, 是一種非關係型的數據存儲,key/value鍵值對存儲。現有Nosql DB 產品: redis/MongoDB/Memcached/Hbase/Cassandra/ Tokyo Cabinet/Voldem ...




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非關係型資料庫

  • High performance - 對資料庫高併發讀寫的需求
  • Huge Storage - 對海量數據的高效率存儲和訪問的需求
  • 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 :是否在每次更新操作後進行日誌記錄。如果不開啟,可能會在斷電時導致一段時間內的數據丟失。因為redis本身同步數據 文件是按上面的save條件來同步的,所以有的數據會在一段時間內只存在於記憶體中。
  3. appendfsync no/always/everysec :數據緩存同步至磁碟的方式。no表示等操作系統進行數據緩存同步到磁碟,always表示每次更新操作後手動調用fsync()將數據寫到磁碟,everysec表示每秒同步一次。

                                                               Windows下Redis的安裝及使用

先在網上下載redis,我下載的是redis-2.0.2,我解壓到了和安裝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

                                                                      


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • C3P0連接池 創建C3P0連接池的工具類 * 連接的規範介面: * javax.sql.DataSource介面 * 介面的實現類對象 * ComboPooledDataSource * 成員位置創建ComboPooledDataSource對象 * 使用靜態代碼塊給ComboPooledData ...
  • DDL
    #DDL--DATA DEFINITION LANGUAGE#----------庫----------------- #創建一個資料庫 CREATE DATABASE day19;#創建一個編碼為utf8的資料庫 CREATE DATABASE day191 CHARSET UTF8;#顯示所有數... ...
  • Oracle中dblink應用小結Oracle應用伺服器OS 1.查看資料庫的global_name SELECT * FROM GLOBAL_NAME; 2.查看global_name參數是true還是false show parameter global_name 如果為true,本地建立的db ...
  • 要求: 1、 主庫上線,主庫不停止服務的前提下做主從複製 2、 新添加一個叢庫 操作: 1、 在主庫導出數據(主庫正常運行); 2、 將主庫的sql文件傳到叢庫; 3、 叢庫恢複數據庫; 4、 在主伺服器上,創建複製賬號,賦許可權 Mysql > GRANT REPLICATION SLAVE ON ...
  • 剛發現的一個Redis不錯的學習平臺: window平臺Redis安裝 作者:lg831229 window平臺Redis安裝 redis windows安裝文件下載地址:http://code.google.com/p/servicestack/wiki/RedisWindowsDownload# ...
  • Redis主從架構持久化存在一個問題,即前次測試的結論,持久化需要配置在主實例上才能跨越實例保證數據不丟失,這樣以來主實例在持久化數據到硬 盤的過程中,勢必會造成磁碟的I/O等待,經過實際測試,這個持久化寫硬碟的過程給應用程式帶來的影響無法忍受;因而在大多數場景下,會考慮把持久化配置 在從實例上,當 ...
  • Redis的複製功能是完全建立在之前我們討論過的基於記憶體快照的持久化策略基礎上的,也就是說無論你的持久化策略選擇的是什麼,只要用到了redis的複製功能,就一定會有記憶體快照發生,那麼首先要註意你的系統記憶體容量規劃,原因可以參考我上一篇文章中提到的Redis磁碟IO問題。 Redis複製流程在Slav ...
  • 那點所謂的分散式——redis 日常開發中,總會接觸到一些好玩的東西,比如這篇的redis,一說到redis,可能就有人跟memcache做比較了,是呀, memcache只能說是簡單的kv記憶體數據結構,而redis支持的數據類型就豐富多了,當然最能讓人看上眼的就是SortedSet。 有了它,我們 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...