導航:首頁 > 程序命令 > redis命令埠

redis命令埠

發布時間:2023-01-30 14:12:27

python中redis服務怎麼起

redis-py提供兩個類Redis和StrictRedis用於實現Redis的命令,StrictRedis用於實現大部分官方的命令,
並使用官方的語法和命令,Redis是StrictRedis的子類,用於向後兼容舊版本的redis-py。
import redis 導入redis模塊,通過python操作redis 也可以直接在redis主機的服務端操作緩存資料庫
r = redis.Redis(host='192.168.19.130', port=6379) host是redis主機,需要redis服務端和客戶端都起著 redis默認埠是6379
r.set('foo', 'Bar') key是"foo" value是"bar" 將鍵值對存入redis緩存
print r.get('foo') Bar 取出鍵foo對應的值!

Ⅱ 詳解Redis 主從復制及主從復制原理

Redis是一個開源的使用ANSI C語言編寫、支持網路、可基於內存亦可持久化的日誌型、Key-Value資料庫,並提供多種語言的API。從2010年3月15日起,Redis的開發工作由VMware主持。從2013年5月開始,Redis的開發由Pivotal贊助。

概述

在現有企業中80%公司大部分使用的是redis單機服務,在實際的場景當中單一節點的redis容易面臨風險。

2、容量瓶頸。 當我們有需求需要擴容 Redis 內存時,從 16G 的內存升到 64G,單機肯定是滿足不了。當然,你可以重新買個 128G 的新機器。

解決辦法

要實現分布式資料庫的更大的存儲容量和承受高並發訪問量,我們會將原來集中式資料庫的數據分別存儲到其他多個網路節點上。

Redis 為了解決這個單一節點的問題,也會把數據復制多個副本部署到其他節點上進行復制,實現 Redis的高可用,實現對數據的冗餘備份,從而保證數據和服務的高可用。

主從復制

什麼是主從復制

主從復制,是指將一台Redis伺服器的數據,復制到其他的Redis伺服器。前者稱為主節點(master),後者稱為從節點(slave),數據的復制是單向的,只能由主節點到從節點。

默認情況下,每台Redis伺服器都是主節點;且一個主節點可以有多個從節點(或沒有從節點),但一個從節點只能有一個主節點。

主從復制的作用

1、數據冗餘: 主從復制實現了數據的熱備份,是持久化之外的一種數據冗餘方式。

2、故障恢復: 當主節點出現問題時,可以由從節點提供服務,實現快速的故障恢復;實際上是一種服務的冗餘。

3、負載均衡: 在主從復制的基礎上,配合讀寫分離,可以由主節點提供寫服務,由從節點提供讀服務(即寫Redis數據時應用連接主節點,讀Redis數據時應用連接從節點),分擔伺服器負載;尤其是在寫少讀多的場景下,通過多個從節點分擔讀負載,可以大大提高Redis伺服器的並發量。

4、讀寫分離: 可以用於實現讀寫分離,主庫寫、從庫讀,讀寫分離不僅可以提高伺服器的負載能力,同時可根據需求的變化,改變從庫的數量。

5、高可用基石: 除了上述作用以外,主從復制還是哨兵和集群能夠實施的基礎,因此說主從復制是Redis高可用的基礎。

主從復制啟用

從節點開啟主從復制,有3種方式:

1、配置文件: 在從伺服器的配置文件中加入 slaveof<masterip><masterport>。

2、啟動命令: redis-server啟動命令後加入 --slaveof<masterip><masterport>。

3、客戶端命令: Redis伺服器啟動後,直接通過客戶端執行命令 slaveof<masterip><masterport>,則該Redis實例成為從節點。

通過 info replication 命令可以看到復制的一些信息。

主從復制原理

主從復制過程大體可以分為3個階段:連接建立階段(即准備階段)、數據同步階段、命令傳播階段。

在從節點執行 slaveof 命令後,復制過程便開始運作,下面圖示可以看出復制過程大致分為6個過程。

主從配置之後的日誌記錄也可以看出這個流程。

1、保存主節點(master)信息

執行 slaveof 後 Redis 會列印如下日誌:

2、從節點與主節點建立網路連接

從節點(slave)內部通過每秒運行的定時任務維護復制相關邏輯,當定時任務發現存在新的主節點後,會嘗試與該節點建立網路連接。

從節點與主節點建立網路連接。

從節點會建立一個 socket 套接字,從節點建立了一個埠為51234的套接字,專門用於接受主節點發送的復制命令。從節點連接成功後列印如下日誌:

如果從節點無法建立連接,定時任務會無限重試直到連接成功或者執行 slaveofnoone 取消復制。

關於連接失敗,可以在從節點執行 info replication 查看 master_link_down_since_seconds 指標,它會記錄與主節點連接失敗的系統時間。從節點連接主節點失敗時也會每秒列印如下日誌,方便發現問題:

3、發送 ping 命令

連接建立成功後從節點發送 ping 請求進行首次通信, ping 請求主要目的如下:

如果發送 ping 命令後,從節點沒有收到主節點的 pong 回復或者超時,比如網路超時或者主節點正在阻塞無法響應命令,從節點會斷開復制連接,下次定時任務會發起重連。

從節點發送的 ping 命令成功返回,Redis 列印如下日誌,並繼續後續復制流程:

4、許可權驗證

如果主節點設置了 requirepass 參數,則需要密碼驗證,從節點必須配置 masterauth 參數保證與主節點相同的密碼才能通過驗證。如果驗證失敗復制將終止,從節點重新發起復制流程。

5、同步數據集

主從復制連接正常通信後,對於首次建立復制的場景,主節點會把持有的數據全部發送給從節點,這部分操作是耗時最長的步驟。

6、命令持續復制

當主節點把當前的數據同步給從節點後,便完成了復制的建立流程。接下來主節點會持續地把寫命令發送給從節點,保證主從數據一致性。

作者:LoyaltyLu

鏈接:https://segmentfault.com/a/1190000018268350

Ⅲ Redis 學習總結(3) Redis 哨兵模式

在實際開發中不會僅僅部署一個 Redis 伺服器,為了獲得高可用,Redis 哨兵模式 則是高可用的一種選擇。

本文先介紹下 哨兵模式,再介紹了如何在 springboot 項目中使用。

這意味著使用 Sentinel (哨兵模式),您可以創建一個 Redis 部署,它可抵抗某些類型的故障(進行故障遷移)而無需人工干預。

它有這些功能:

Sentinel 的分布式特性
Redis Sentinel 是一個分布式系統,多個 Sentinel 進程協同工作,有這些優勢:

部署前需要了解:

三個節點的基本配置

法定人數和仲裁
在配置 哨兵模式時,要指定一個 quorum,它可理解為「法定人數」。
假設有3 個 哨兵,法定人數為2。那麼:

哨兵和副本的自動發現
Sentinel 與其他 Sentinel 保持連接,以便相互檢查彼此的可用性並交換消息。

但是,您不需要在您運行的每個 Sentinel 實例中配置其他 Sentinel 地址的列表,因為 Sentinel 使用 Redis 實例的 Pub/Sub 功能來發現正在監視相同主節點和副本的其他 Sentinel。

類似地,您不需要配置附加到主伺服器的副本地址在哪裡,因為 Sentinel 會通過查詢 Redis 自動發現它們。

參考我的另一篇文章:

一般需要三個節點,每個節點有一個 redis 和一個哨兵。

下面再分別描述。

我這里按三個 節點,先配置 redis 的主從復制。1個節點作為 master ,2個副本。

配置節點1:master
這里的 redis 作為 master 主redis,其他兩個節點作為從節點。
我的文件夾名字叫 box1,這里編輯一個 box1/redis.conf 文件,主要配置內容如下:

配置節點2:副本
編輯一個 box2/redis.conf 文件,主要配置內容如下:

配置節點3:副本
編輯一個 box3/redis.conf 文件,主要配置內容如下:

分別啟動這三個redis
命令行執行 redis-server ,並指定 配置文件的路徑參數。

如何查看「主從復制」是否配置成功?
使用 info replication 命令,操作如下:

副本節點設置為只讀?
從 Redis 2.6 開始,副本已被默認設置為 只讀,無需額外配置。.

一般情況下,至少會需要三個哨兵對redis 進行監控,我們可以通過修改埠啟動多個sentinel 服務。

第一個哨兵:
哨兵的 默認埠是 26379 ,這里不改。

第二個哨兵:
修改哨兵埠。

第三個哨兵:
修改哨兵埠。

啟動哨兵
使用 redis-sentinel 命令,分別啟動這三個哨兵

哨兵的自動發現
當三個哨兵都啟動後,在各個哨兵的列印日誌里可以看到, 三個哨兵已互相發現了彼此的存在 。

至此,配置完畢了,我們有三個 redis,和三個哨兵,看下截圖。

模擬 master 宕機
按 ctrl+c 停止 master ,其位於 6379 。停止後,從日誌可以看到,哨兵和 redis副本先努力繼續連接 6379,反復幾次失敗後,開始選舉出新的 master。截圖如下:

至此,配置完畢。

我們看下 springboot 項目的客戶端如何配置 以訪問 哨兵模式的 redis。

Redis 哨兵支持
對於處理高可用Redis,Spring Data Redis 已經支持Redis Sentinel,使用RedisSentinelConfiguration,如下例所示:

Jedis 和 Lettuce 兩種 redis 驅動都可以支持。

RedisSentinelConfiguration 也可以用可以 通過 PropertySource 來設置,它允許您設置以下屬性:

配置application.yml

比如我這里修改我的 application.yml 文件如下:

我的配置文件示例: https://github.com/vir56k/java_demo/tree/master/redis-sentinel
我的 springboot 配置實例: https://github.com/vir56k/java_demo/tree/master/redis-sentinel/springboot_redis_demo

Redis官網 sentinel 介紹
https://redis.io/topics/sentinel

spring-data/data-redis
https://docs.spring.io/spring-data/data-redis/docs/current/reference/html/#redis:sentinel

https://www.cnblogs.com/jaycekon/p/6237562.html

END

Ⅳ win7怎麼查看redis埠

①開始→運行→輸入:CMD 點擊確定(或按回車鍵),打開命令提示符窗口。

②使用以下命令查看參數:netstat /?
netstat -a -n

③除此之外,還可以從任務管理器中看到埠開啟的狀態。
運行中輸入:taskmgr →確定→打開Task Manager(任務管理器)

④如果進程中沒有顯示PID項目,已調出來:查看→選擇列

⑤勾選 進程標識符PID →確定

⑥再查看進程中程序和埠的對應關系: BaiHI.exe→2944

參考資料:《如何查看埠使用狀態?》http://jingyan..com/article/066074d64fc93ec3c21cb096.html

Ⅳ ubuntu下redis 怎麼在程序中使用

一、獲取Redis

二、編譯安裝Redis

1、解壓源碼安裝包,通過tar -xvf redis-3.0.2.tar.gz解壓源碼,速度相當快;
2、進入解壓後的目錄,執行make編譯源碼;
make命令執行完成後,會在src目錄下生成6個可執行文件,分別是redis-server、redis-cli、redis-benchmark、redis-check-aof、redis-check-mp、redis-sentinel。
3、執行make install安裝,或者通過make PREFIX=/usr/local/redis install指定安裝目錄。這里默認安裝,默認將之前生成的可執行文件拷貝到/usr/local/bin目錄下;

配置運行
三、修改配置文件
1、將源碼目錄下redis配置文件redis.conf拷貝到/etc/redis目錄下。
2、修改配置項,根據需要;如果不修改,使用默認配置也可以;

四、啟動服務:
1、查看埠是否被佔用:netstat –ntlp |grep 6379
方式一:通過命令redis-server 啟動,可在命令後加上`&`號使redis以後台程序方式運行;
方式二:通過指定配置文件啟動;redis-server /etc/redis/redis.conf
默認安裝的路徑已經加入環境變數中,可直接在命令行執行命令;

五、命令客戶端檢測鏈接
1、連接之前可以先檢測服務是否啟動;
2、測試啟動 redis-cli ping 返回PONG,啟動成功。

停止Redis:
關閉服務
redis-cli shutdown
如果非默認埠,可指定埠:
redis-cli -p 6380 shutdown

簡單操作:
1、兩種連接方式:
1:window DOS方式:tentel主機IP埠號(默認為127.0.0.1:6379)
2:linux客戶端方式:redis-cli 主機IP 埠號(默認為127.0.0.1 6379)
2、命令行操作:
#redis-cli
redis 127.0.0.1:6379> set name clj
OK
redis 127.0.0.1:6379> get name
"clj"

Ⅵ redis支持不支持ws埠

不支持
redis默認埠號是6379,不支持其他埠。REmoteDIctionaryServer(Redis)是一個由SalvatoreSanfilippo寫的key-value存儲系統。

Ⅶ Redis停止的命令

Redis停止的命令

我的redis是部署在linux機器上的,而且是redis集群。下面的命令都是在linux上使用的。

執行後,輸出的記錄中,含有「redis-server」的行,全是運行的redis服務節點。

「redis-server」所在行的最後,會有「IP:埠號」,執行第3步停止redis集群時要使用。

第一行記錄,都要執行一次停止命令。

2. 進入redis-cli所在目錄

註:如果不知道redis-cli所在目錄,請使用如下命令查找(網上很多的人回答,redis-cli在redis/bin目錄,我的機器卻不是)

3. 停止redis服務,使用的IP、埠號為第1步查看出的IP、埠號。

第一步中的第一行記錄,都要執行一次停止命令。

註:不加「-h IP」參數時,會提示如下內容,停止是失敗的

Could not connect to Redis at 127.0.0.1:XXXX: Connection refused

4. 查看redis服務是否停止成功

執行後,輸出的記錄中,不存在含有「redis-server」的行,則redis服務停止成功。

原文:
YouLuoJv使用知識的小磚壘起質量、效率燈塔,希望可以照亮更多人的路

Ⅷ 了解redis底層原理,自己手寫實現jedis

一、Jedis實現原理

要自己手寫jedis,首先要了解jedis的原理,我們在命令窗口輸入set、get等命令背後的實現原理是什麼?

大白話講就是jedis通過tcp連接發送消息到redis伺服器,接收到回復消息後再解析出來即可(我們執行的命令如set name test等都是按協議構造的),消息按約定好的規范,這個規范就是RESP協議

resp協議官網說明:http://www.redis.cn/topics/protocol.html

二、RESP協議

resp協議定義了5種命令格式,間隔符號,在Linux下是r ,在Windows下是

1、單行的簡單字元串Simple Strings:以 "+"加號 開頭, 格式:+ 字元串 r

2、錯誤 Errors, 以"-"減號 開頭 格式:- 錯誤前綴 錯誤信息 r

3、整數型 Integers, 以 ":" 冒號開頭 格式:: 數字 r

SETNX、DEL、EXISTS、INCR、INCRBY、DECR、DECRBY、DBSIZE、LASTSAVE、RENAMENX、MOVE、LLEN、SADD、SREM、SISMEMBER、SCARD等命令都會返回整數

4、大字元串類型 Bulk Strings(多行字元串), 以 "#34;美元符號開頭,長度限制512M

格式:$ 字元串的長度 r 字元串 r

多用於返回二進制安全的字元串, "$0rnrn"代表空字元串,redis-cli收到後顯示的是"";"$-1rn"表示不存在,redis-cli收到顯示的是nil

5、數組類型 Arrays,以 "*"開頭 格式:* 數組元素個數 r 其他所有類型 (結尾不需要r )

不僅用於服務端向客戶端發送命令,也可用於客戶端向服務端發送命令

eg:

"*0r " #空數組

"*2r $3r foor $3r barr " #數組包含2個元素,分別是字元串foo和bar

"*3r :1r :2r :3r " #數組包含3個整數:1、2、3

"*5r :1r :2r :3r :4r $6r foobarr " #包含混合類型的數組

"*3r $3r SETr $2r aar $4r testr " #命令:SET aa test

三、代碼手寫實現

理解了jedis實現原理,我們就可以手寫實現了,當然前提是先搭建一個redis服務,我們在本機搭建了一個redis server,埠號是6379

Ⅸ redis 怎麼啟用多埠

1.Redis默認不是以守護進程的方式運行,可以通過該配置項修改,使用yes啟用守護進程daemonizeno2.當Redis以守護進程方式運行時,Redis默認會把pid寫入/var/run/redis.pid文件,可以通過pidfile指定pidfile/var/run/redis.pid3.指定Redis監聽埠,默認埠為6379,作者在自己的一篇博文中解釋了為什麼選用6379作為默認埠,因為6379在手機按鍵上MERZ對應的號碼,而MERZ取自義大利歌女AlessiaMerz的名字port63794.綁定的主機地址bind127.0.0.15.當客戶端閑置多長時間後關閉連接,如果指定為0,表示關閉該功能timeout3006.指定日誌記錄級別,Redis總共支持四個級別:debug、verbose、notice、warning,默認為verboseloglevelverbose7.日誌記錄方式,默認為標准輸出,如果配置Redis為守護進程方式運行,而這里又配置為日誌記錄方式為標准輸出,則日誌將會發送給/dev/nulllogfilestdout8.設置資料庫的數量,默認資料庫為0,可以使用SELECT命令在連接上指定資料庫iddatabases169.指定在多長時間內,有多少次更新操作,就將數據同步到數據文件,可以多個條件配合saveRedis默認配置文件中提供了三個條件:save9001save30010save6010000分別表示900秒(15分鍾)內有1個更改,300秒(5分鍾)內有10個更改以及60秒內有10000個更改。

Ⅹ Linux下安裝配置redis詳細教程,並配置哨兵模式

redis版本為redis-3.2.12,使用工具將安裝包上傳到data目錄。

在data目錄下創建文件夾redis,將redis安裝在此目錄。

第一步:解壓。

第二步:安裝,PREFIX=/data/redis用來設置安裝目錄。

到此,redis已經安裝完成,剩下就是配置和啟動服務。

進入redis目錄, 創建配置文件conf、日誌logs、資料庫mp、進程號pid四個目錄,用來存放對應的文件,這四個目錄也可以存放在其他文件夾,只要與配置文件中的配置一致即可,否則在啟動服務時會報錯。 其中bin目錄就是redis安裝成功後的一些命令文件。

redis服務配置一主二從,哨兵模式。注意:如果在實際開發中用不到哨兵模式,redis服務配置一主一從即可。

主Redis配置:redis_6379.conf

從Redis配置,redis_6380.conf和redis_6381.conf,與主Redis配置基本上一樣,不一樣的地方在於 埠、資料庫、日誌、pid文件名稱 ,都以6380或6381為標志, 最重要的地方是建立主從關系和同步驗證。

注意: 對只使用redis服務 ,只需要在主Redis裡面配置requirepass,在從Redis裡面配置masterauth,密碼保持一致,密碼盡可能復雜,以免被攻擊破解。

注意: 對只使用redis服務 ,如果從Redis也有必要加入訪問驗證,也可以設置requirepass,而且密碼可以與主Redis密碼不同。

將配置文件放置到/data/redis/conf目錄下,然後就可以啟動服務了。

啟動服務要按照主從順序依次啟動。

查看服務啟動情況:

也可以通過查看日誌文件來確認服務是否正常啟動。

通過客戶端登錄Redis驗證數據同步情況:

主Redis登錄驗證,設置數據:

從Redis登錄,獲取數據:從Redis並沒有設置密碼,所以無需驗證就可以操作。

配置哨兵模式:

Redis Sentinel集群通常由3到5個節點組成,如果個別節點掛了,集群還可以正常運作。Sentinel負責監控Redis集群的 健康 情況。

如果主Redis掛掉,Sentinel集群會通過投票選擇一個新的主Redis。 當原來的主Redis恢復時,它會被當做新的主Redis的從Redis重新加入Redis集群。

設置連接master和slave的密碼,需要注意的是sentinel不能分別為master和slave設置不同的密碼,因此master和slave的密碼必須設置相同。也就是說主Redis和從Redis都必須設置requirepass和masterauth,而且密碼必須相同。

sentinel.conf配置信息:

將該配置文件放置到/data/redis/conf目錄下,啟動sentinel服務:

驗證sentinel是否起作用,可以手工shutdown掉主Redis。

這時從Redis想要訪問主Redis同步數據就會提示錯誤信息:

sentinel在監測到主Redis宕機之後,通過選舉,將一個從Redis選定為新的主Redis。通過查看sentinel日誌可以發現,選定6380為新的主Redis,同時將另外兩個Redis作為從Redis。

注意:選定6380為主Redis後,所有的配置文件都會被修改,主要是重新建立主從關系。

6379會新增:slaveof 127.0.0.1 6380

6380會刪掉:slaveof 127.0.0.1 6379

6381會修改:slaveof 127.0.0.1 6380

由於6379服務已經關掉,所以雖然sentinel將6379作為6380的從服務,但是沒有真正的建立。

重新啟動6379服務,這時sentinel會重建建立一次主從關系:

閱讀全文

與redis命令埠相關的資料

熱點內容
公路商店app標簽選什麼 瀏覽:337
linuxoracle命令行登錄 瀏覽:224
android深度休眠 瀏覽:169
php微信開發例子 瀏覽:843
醫得app登錄密碼是什麼 瀏覽:140
spring開發伺服器地址 瀏覽:411
伺服器上如何查看伺服器的埠 瀏覽:678
單片機伺服器編譯 瀏覽:770
單口usb列印機伺服器是什麼 瀏覽:859
戰地五開伺服器要什麼條件 瀏覽:956
在word中壓縮圖片大小 瀏覽:255
javatomcat圖片 瀏覽:419
程序員生產智能創意 瀏覽:67
匯和銀行app怎麼登錄 瀏覽:383
騰訊伺服器如何上傳源碼 瀏覽:749
單片機的原理概述 瀏覽:512
火控pdf 瀏覽:270
如何復制雲伺服器centos環境 瀏覽:988
債權pdf 瀏覽:307
紅色番字的app怎麼下載 瀏覽:877