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