Redis的安裝以及使用入門

  • 2019 年 12 月 2 日
  • 筆記

Redis的安裝以及使用入門

Redis是一個用的比較廣泛的Key/Value的內存數據庫,新浪微博、 Github、StackOverflow?等大型應用中都用其作為緩存,Redis的官網為http://redis.io/。

Redis命令參考:http://doc.redisfans.com/

配置好的Redis可參考:http://download.csdn.net/detail/cjb_king/9676569

1. 在下載好的Redis壓縮包中將64位的解壓後放到D:redis文件夾下,同時將文件夾內的redis.conf也拷貝到該目錄下,這個是redis的配置信息:

2. 啟動Redis 在Windows下面啟用Redis和啟動MogoDB一樣,需要使用命令行啟動,首先定位到該目錄:

D:>cd d:redisserver

然後在d:redisserver>後運行如下命令:

redis-server.exe redis.conf

因為是在本機運行的,這裡要注意端口號,同時要保持端口不要關閉。

3. 使用 現在再開一個控制台應用程序連接之前啟動的Redis,切換路徑D:redis>server>,在後面輸入命令如下: redis-cli.exe -h 172.16.147.121 -p 6379 其中 –h後面是本機的ip地址,後面的是端口。 然後就可以執行set 給key為city賦值: redis 172.16.147.121:6379> set city Shanghai 通過get可以獲取指定key為city的值了。 redis 172.16.147.121:6379> get city 4.添加如圖四個引用:

做一個簡單的例子,在.NET中獲取之前我們設置的city的值。

class Program  {      static RedisClient redisClient = new RedisClient("172.16.147.121", 6379);//redis服務IP和端口      static void Main(string[] args)      {          Console.WriteLine(redisClient.Get<string>("city"));          Console.ReadKey();      }  }

附加:

一、NoSQL簡介:

常見的NoSQL數據庫有Hbase(基於列存儲)、MongoDB(文檔型數據庫,採用類似於Json的Bson語法存儲)和Redis(基於鍵值對存儲)等,其中Redis是通過key-value這種鍵值對的形式來存儲數據,如此在存取數據的時候檢索數據會快很多,常用來滿足高並發、大數據的系統。


二、Redis簡介:

據Redis官方文檔說明,Redis是一個開源的,內存中的數據結構存儲系統,可用作數據庫、緩存和消息中間件。


1.優點:

  • 支持多種類型的數據結構,如: 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets)等;
  • 數據庫完全在內存中,具有不同級別的磁盤持久性;
  • 數據可以複製到任意數量的從服務器,分片機制使得Redis支持將數據離散地存儲在不同的物理機器上,以克服單台機器內存大小的限制。

2.應用場景:

  • 數據庫服務器:用來存儲結構相對簡單的的數據;
  • 緩存系統:緩存需要大量讀取、少量修改的數據;
  • 構建實時消息系統:利用發佈(Pub)/訂閱(Sub)特性;
  • 對隊列的支持:基於列表(list)實現隊列(queue)、堆棧(stack)。

三、Redis在Windows環境下的安裝配置:

1.下載資源:

Redis官網資源下載頁面下載最新的穩定版本,但由於Redis官網並不支持Windows平台,所以想要在Windows平台下安裝使用Redis,需要下載微軟開源技術團隊(Microsoft Open Tech group)開發和維護着這個 Win64的版本這是Redis的源碼,但是假如我們只是為了使用Redis的功能的話,可以直接下載Release版本

2.解壓安裝:

將下載到的安裝壓縮包解壓,查看文件夾下的文件目錄如下:

其中一個文件redis.windows.conf是redis的配置文件,設置redis的一下配置信息。

3.啟動服務端:

通過管理員權限啟動cmd,定位到redis安裝包解壓後的根目錄下,輸入指令啟動redis服務:

redis-server.exe redis.windows.conf

此指令的作用就是通過讀取redis.windows.conf中的配置信息,根據配置信息來設置和啟動服務器,當然這個配置文件也是可以自定義的,只要執行時修改啟動指定的配置文件即可,可以通過設置將日誌信息打印輸出到日誌文件中,具體的信息請查看本文最後的附件中的redis.confi。 為了方便以後啟動redis數據庫,可將此命令寫到當前目錄下的新建文本文件中,取名為startService.bat,內容就是此指令,以後便可雙擊此文件啟動服務。假如啟動成功,可以看到:

4.啟動客戶端:

參考上述的做法,新建一個文件,命名為startClient.bat,內容為:

redis-cli.exe -h 127.0.0.1 -p 6379 -n 1 

這是啟動redis客戶端連接redis服務器的指令,其中-h為連接服務器的IP地址,-p是服務器端口號,-n是用戶名,1是客戶端連接密碼。 雙擊startClient.bat啟動客戶端,啟動成功可以看到:

此外,還可以看到服務端輸出接收到客戶端連接的打印信息:

                _._             _.-``__ ''-._        _.-``    `.  `_.  ''-._           Redis 3.2.100 (00000000/0) 64 bit    .-`` .-```.  ```/    _.,_ ''-._   (    '      ,       .-`  | `,    )     Running in standalone mode   |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379   |    `-._   `._    /     _.-'    |     PID: 9380    `-._    `-._  `-./  _.-'    _.-'   |`-._`-._    `-.__.-'    _.-'_.-'|   |    `-._`-._        _.-'_.-'    |           http://redis.io    `-._    `-._`-.__.-'_.-'    _.-'   |`-._`-._    `-.__.-'    _.-'_.-'|   |    `-._`-._        _.-'_.-'    |    `-._    `-._`-.__.-'_.-'    _.-'        `-._    `-.__.-'    _.-'            `-._        _.-'                `-.__.-'    [9380] 28 Feb 10:38:23.241 # Server started, Redis version 3.2.100  [9380] 28 Feb 10:38:23.241 * DB loaded from disk: 0.000 seconds  [9380] 28 Feb 10:38:23.241 * The server is now ready to accept connections on port 6379  [9380] 28 Feb 10:38:23.241 - 0 clients connected (0 slaves), 644280 bytes in use  [9380] 28 Feb 10:38:28.242 - 0 clients connected (0 slaves), 644280 bytes in use  [9380] 28 Feb 10:38:33.242 - 0 clients connected (0 slaves), 644280 bytes in use  [9380] 28 Feb 10:38:38.242 - 0 clients connected (0 slaves), 644280 bytes in use  [9380] 28 Feb 10:38:43.243 - 0 clients connected (0 slaves), 644280 bytes in use  [9380] 28 Feb 10:38:48.243 - 0 clients connected (0 slaves), 644280 bytes in use  [9380] 28 Feb 10:38:53.243 - 0 clients connected (0 slaves), 644280 bytes in use  [9380] 28 Feb 10:38:54.110 - Accepted 127.0.0.1:17916  [9380] 28 Feb 10:38:58.243 - 1 clients connected (0 slaves), 665144 bytes in use

附件:

自定義配置文件redis.confi的解析:

#是否作為守護進程運行  daemonize no  #Redis 默認監聽端口  port 6379  #客戶端閑置多少秒後,斷開連接  timeout 300  #日誌顯示級別  loglevel verbose  #指定日誌輸出的文件名,也可指定到標準輸出端口  logfile redis.log  #設置數據庫的數量,默認最大是16,默認連接的數據庫是0,可以通過select N 來連接不同的數據庫  databases 32  #Dump持久化策略  #當有一條Keys 數據被改變是,900 秒刷新到disk 一次  #save 900 1  #當有10 條Keys 數據被改變時,300 秒刷新到disk 一次  save 300 100  #當有1w 條keys 數據被改變時,60 秒刷新到disk 一次  save 6000 10000  #當dump     .rdb 數據庫的時候是否壓縮數據對象  rdbcompression yes  #dump 持久化數據保存的文件名  dbfilename dump.rdb  ###########    Replication #####################  #Redis的主從配置,配置slaveof則實例作為從服務器  #slaveof 192.168.0.105 6379  #主服務器連接密碼  # masterauth <master-password>  ############## 安全性 ###########  #設置連接密碼  #requirepass <password>  ############### LIMITS ##############  #最大客戶端連接數  # maxclients 128  #最大內存使用率  # maxmemory <bytes>  ########## APPEND ONLY MODE #########  #是否開啟日誌功能  appendonly no  # AOF持久化策略  #appendfsync always  #appendfsync everysec  #appendfsync no  ################ VIRTUAL MEMORY ###########  #是否開啟VM 功能  #vm-enabled no  # vm-enabled yes  #vm-swap-file logs/redis.swap  #vm-max-memory 0  #vm-page-size 32  #vm-pages 134217728  #vm-max-threads 4