1. 程式人生 > >Docker Redis的官方映象簡單使用

Docker Redis的官方映象簡單使用

Redis是一種鍵值對形式的分散式快取資料庫

拉取映象

在docker-compose.yml檔案中新增如下配置:

redis:
 image: redis
 ports:
  - "6379:6379"

啟動docker-compose

dokcer-compose up

dokcer-compose會自動從雲端拉取redis的映象,由於大天朝的部分原因(QAQ),下載通常會失敗,更換Docker中國官方映象源:
修改/etc/docker/daemon.json檔案,沒有就新建一個

vi /etc/docker/daemon.json

新增如下:

{
  "registry-mirrors
": ["https://registry.docker-cn.com"] }

你會發現速度超快,我在公司實測都是MB/S級別的

進入Docker容器的redis的客戶端

下載完成後檢視dockerdocker ps -a,發現已正常啟動,檢視其容器例項的ID

然後進入Docker容器redis的客戶端

docker exec -it 容器ID redis-cli 

然後終端會呈現如下互動式環境,證明成功進入

127.0.0.1:6379>

然後依據官方的Interactive tutorial就可以開始愉快的玩耍了~(≧▽≦)/~
這裡就不在重述

redis配置臨時密碼

首先檢視redis有沒有配置臨時密碼,無密碼會返回這個

127.0.0.1:6379> config get requirepass
1) "requirepass"
2) ""

然後設定密碼, 1234

127.0.0.1:6379> config set requirepass 1234

再次檢視當前redis就提示需要密碼:

127.0.0.1:6379> config get requirepass
(error) NOAUTH Authentication required.

python的redis資料庫連線——外掛庫(redis)

資料庫連線,預設執行前後資料庫連線然後釋放連線

r = redis.Redis(host='0.0.0.0', port=6379, db=0, password="1234")
r.set('name', 'test')
print(r.get('name'))

資料庫連線池配置

pool = redis.ConnectionPool(host="0.0.0.0", port=6379, db=0, password="1234")
r = redis.Redis(connection_pool=pool)
r.set("age", "16")
r.get("age")

資料庫的事務性操作

redis預設在執行每次請求都會建立(連線池申請連結)和斷開(歸還連線池)一次連線操作,如果想要再一次請求中指定多個命令,則可以使用pipline實現一次請求指定多個命令,並且預設情況下一次pipline是原子性操作。

pool = redis.ConnectionPool(host='0.0.0.0', port=6379)
r = redis.Redis(connection_pool=pool)
pipe = r.pipeline(transaction=True)
r.set('name', 'python')
r.set('age', '18')
pipe.execute()