Redis在windows下的安裝


Redis 簡介

 

 

 REmote DIctionary Server(Redis) 是一個由Salvatore Sanfilippo寫的key-value存儲系統。

Redis是一個開源的使用ANSI C語言編寫、遵守BSD協議、支持網絡、可基於內存亦可持久化的日志型、,是一個高性能的key-value數據庫,並提供多種語言的API。

它通常被稱為數據結構服務器,因為值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等類型。

 

 Redis 與其他 key - value 緩存產品有以下三個特點:

  • Redis支持數據的持久化,可以將內存中的數據保存在磁盤中,重啟的時候可以再次加載進行使用。
  • Redis不僅僅支持簡單的key-value類型的數據,同時還提供list,set,zset,hash等數據結構的存儲。
  • Redis支持數據的備份,即master-slave模式的數據備份。

 

Redis 優勢

  • 性能極高 – Redis能讀的速度是110000次/s,寫的速度是81000次/s 。
  • 豐富的數據類型 – Redis支持二進制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 數據類型操作。
  • 原子 – Redis的所有操作都是原子性的,意思就是要么成功執行要么失敗完全不執行。單個操作是原子性的。多個操作也支持事務,即原子性,通過MULTI和EXEC指令包起來。
  • 豐富的特性 – Redis還支持 publish/subscribe, 通知, key 過期等等特性。

 

Redis與其他key-value存儲有什么不同?

  • Redis有着更為復雜的數據結構並且提供對他們的原子性操作,這是一個不同於其他數據庫的進化路徑。Redis的數據類型都是基於基本數據結構的同時對程序員透明,無需進行額外的抽象。

  • Redis運行在內存中但是可以持久化到磁盤,所以在對不同數據集進行高速讀寫時需要權衡內存,因為數據量不能大於硬件內存。在內存數據庫方面的另一個優點是,相比在磁盤上相同的復雜的數據結構,在內存中操作起來非常簡單,這樣Redis可以做很多內部復雜性很強的事情。同時,在磁盤格式方面他們是緊湊的以追加的方式產生的,因為他們並不需要進行隨機訪問。

 

參考: https://blog.csdn.net/yangwenxue1989/article/details/88884668

    https://blog.csdn.net/xoofly/article/details/88832683

一、目標

在windows環境下安裝配置redis數據庫。

二、環境

windows10 64bit、redis64-3.0.501 (for windows64bit)

三、軟件下載

1.Redis數據庫下載。https://github.com/ServiceStack/redis-windows    下載的速度可能比較慢

 

 

 點右側的Clone or download,然后在彈出的窗口點Download ZIP。下載就行了。

 

2.點擊release,可選擇不同版本進行下載。

 

 

 

 

 

 

 

 

四、安裝redis數據庫

下載好是個zip壓縮包,指定路徑進行解壓,,本文使用D:\JAVA\redis64-3.0.501 路徑。

解壓內容如下:

 

 

 1. 臨時服務安裝

打開一個 cmd 窗口 使用 cd 命令切換目錄到D:\JAVA\redis64-3.0.501 路徑,運行:

redis-server.exe redis.windows.conf

顯示如下界面,則服務端啟動成功。

備注:通過以上面命令,會創建Redis臨時服務,不會在window Service列表出現Redis服務名稱和狀態,此窗口關閉,服務會自動關閉。可以裝一個Redis Management測試一下,當關閉這個臨時服務是數據庫連不上的。

 

現在進行客戶端調用,因為只有臨時服務,所以不要關閉上面窗口,另外打開一個 cmd 窗口 使用 cd 命令切換目錄到D:\JAVA\redis64-3.0.501 路徑,

運行:

redis-cli.exe

客戶端啟動完成。

敲入Set age 34 返回OK ,表示寫入內存中;我們再敲get age,會返回一個Value值34,如下圖:

 

 

 

 2.默認服務安裝  我們不可能每次要用Redis都去開一下臨時服務,可不可以跟其它服務一樣能夠開機自啟?當然是可以得,但是有點區別,后續會講。進入Redis安裝包文件下,敲入命令注冊服務:

redis-server.exe --service-install redis.windows.conf --loglevel verbose

注:(須關閉臨時服務,否則安裝不上)

根據英文提示顯然服務已經安裝了,在window Service列表中能看到,但是沒啟動,也無法手動啟動,只有敲命令啟動/暫停/卸載服務:

redis-server.exe --service-start
redis-server.exe --service-stop
redis-server.exe --service-uninstall

 

 

 (類似如上插圖)

 

3.自定義服務安裝   將服務重命名。進入Redis安裝包文件下,注冊服務:

redis-server.exe --service-install redis.windows.conf --Service-name RedisServer1 --loglevel verbose

 

 

 

備注:通過以上面命令,會在window  Service列表出現"redisserver1"服務,但此服務不是啟動狀態,需要調下面命令啟動服務。

與默認安裝一樣,唯一不同的就是在相應安裝服務、啟動、關閉、卸載服務時需要加上自定義Redis服務名:

redis-server.exe --service-start --Service-name RedisServer1

redis-server.exe --service-stop --Service-name RedisServer1 

redis-server.exe --service-uninstall --Service-name RedisServer1

通過命令行卸載自定義服務后,電腦重啟一下,卸載服務會全部完成

 

 

 

4.Redis主從服務安裝  主從服務可以實現負載均衡,其實就是把上面Redis安裝文件包,拷貝到相應目錄,修改主、從服務器配置文件中IP、Port,同時從服務器要指定主服務器 的IP、Port,按照Redis自定義服務安裝中命令進行服務安裝、服務啟動、服務關閉、服務卸載即可使用。

我本地主從服務器安裝包都還是在D:\redis-win目錄,文件夾Redis-x64-3.2.100為主服務,文件夾Redis-x64-3.2.100-2則是從服務,用的都是本地IP:127.0.0.1,生產環境大家可以根據自己實際情況進行設置。

主服務器(RedisServer1)redis.windows.conf修改如下:port  6379(默認),不需要作修改;

從服務器(RedisServer2)redis.windows.conf修改如下:port  6380;slaveof  127.0.0.1  6379,修改地方看下圖:

 

 

 

 

 

 我們用RedisManagement分別進行兩個端口連接做客戶端,在主服務添加鍵可以同步到從服務,從服務添加無效。如果從服務沒有配置從屬關系,我們可以在Redis管理器中對從服務進行配置,打開控制台,輸入slaveof 127.0.0.1 6379,效果一樣。

我們安裝從服務時候,可以不通過配置文件來安裝指定端口和指定主機。redis-server.exe --service-install redis.windows.conf --Service-name RedisServer2 --loglevel verbose --port 6380,這樣也是指定端口安裝。

運行從服務redis-cli.exe,,這跟RedisManagement一樣,也能配從屬關系。

 

五、管理客戶端GUI程序

1.客戶端管理程序Redis Desktop Manager

2.我用的版本是Redis Desktop Manager v.0.7.6.15,一路下一步安裝即可。

3.連接Redis服務器

 

 一個簡單的界面管理器。

連接成功后,如圖所示。

 

 

六、REDIS數據庫的用途

用於用戶登錄驗證的session。因為redis數據庫讀取的速度較快,所以可以提高用戶訪問網站的速度。

redis+mysql:

看到很多網站都是用redis作為mysql的緩存使用。
mysql存儲在磁盤里,redis存儲在內存里,redis既可以用來做持久存儲,也可以做緩存,而目前大多數公司的存儲都是mysql + redis,mysql作為主存儲,redis作為輔助存儲被用作緩存,加快訪問讀取的速度,提高性能。
目前基本都是mysql(主) + redis(輔),在需要性能的地方使用redis,在不需要高性能的地方使用mysql。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM