1. 程式人生 > >[Redis]Windows下Redis的安裝、許可權設定和在Python中使用

[Redis]Windows下Redis的安裝、許可權設定和在Python中使用

Windows下Redis的安裝、許可權設定和在Python中使用

最近趕專案趕得整個人有點懵,現在一看到IDEA就有點發怵,所以想著搞點沒接觸過的東西放鬆下心情。剛剛好之前一直對NOSQL很感興趣,所以試著玩了一下Redis。

安裝

個人推薦下載其中的MSI版本,因為這個版本會順便安裝一個redis服務和新增Path路徑,使用起來比較方便。

安裝完在控制檯中輸入redis-cli就可以開啟Redis客戶端了。(記得開啟服務)

C:\>redis-cli
127.0.0.1:6379> auth ******
OK
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> quit

如果想手動開啟Redis伺服器,在控制檯中使用redis-server命令。

在Python中使用Redis

使用第三方包redis就可以在Python裡操作Redis了。包不大,直接用pip安裝:pip install redis

import redis
r = redis.Redis('127.0.0.1', port=6379, password='******')
r.ping()

連線正常的話ping函式會返回True。

需要注意的地方:

  1. 如果Redis伺服器沒設定密碼的話(預設),在初始化的時候不需要加上password引數。

  2. Redis類裡面的函式和Redis命令基本一致。但是del命令因為和Python關鍵字衝突,所以在Redis類中改為delete函式。

  3. Redis查詢的資料都是以位元組包的形式返回的。在Python中要經過decode解碼和型別轉換才可以使用。

解碼Redis返回的資料:

>>> import redis
>>> r = redis.Redis('127.0.0.1', port=6379, password='******')
>>> r.ping()
True
>>> r.set('hello', '你好')
True
>>> hello = r.get('hello') >>> hello b'\xe4\xbd\xa0\xe5\xa5\xbd' >>> hello.decode('utf-8') # 解碼 '你好'

許可權

Redis根目錄下有兩個配置檔案。redis.windows.conf和redis.windows-service.conf。這兩個檔案分別對應手動開啟Redis伺服器和以服務形式開啟伺服器的配置。

如果想給redis加上一個密碼,修改配置檔案中的requirepass欄位就行了。不過因為redis執行起來實在是太快了,容易被暴力破解,所以密碼太簡單的話防不住賊。下面是配置檔案裡面的內容,你們自己感受一下…

# Require clients to issue AUTH <PASSWORD> before processing any other
# commands. This might be useful in environments in which you do not trust
# others with access to the host running redis-server.
#
# This should stay commented out for backward compatibility and because most
# people do not need auth (e.g. they run their own servers).
#
# Warning: since Redis is pretty fast an outside user can try up to
# 150k passwords per second against a good box. This means that you should
# use a very strong password otherwise it will be very easy to break.
#
# requirepass foobared

修改配置檔案的時候可能會遇到許可權不足的問題,右鍵->屬性->安全->編輯,給當前使用者加上寫入許可權就可以正常修改了。

總結

Redis使用起來非常方便,建議有興趣學習redis的讀者直奔菜鳥教程就可以,基礎部分看個一兩個小時其實就差不多了,沒必要再在部落格中贅述。博主目前正在一步步完善自己的技術棧中,後面如果遇到什麼坑再繼續跟進。

程式設計之路漫漫其修遠兮,吾將上下而求索。

照例感謝開源軟體和免費內容的貢獻者,感謝:Redis、微軟OpenTech和菜鳥教程提供的內容。