TSXP57103M 當你刪除的是一個 String 類型 key 時,時間復雜度確實是 O(1)。
但當你要刪除的 key 是 List/Hash/Set/ZSet 類型,它的復雜度其實為 O(N),N 代表元素個數。
也就是說,刪除一個 key,其元素數量越多,執行 DEL 也就越慢!
原因在于,刪除大量元素時,需要依次回收每個元素的內存,元素越多,花費的時間也就越久!
而且,這個過程默認是在主線程中執行的,這勢必會阻塞主線程,產生性能問題。
那刪除這種元素比較多的 key,如何處理呢?
我給你的建議是,分批刪除:
List類型:執行多次 LPOP/RPOP,直到所有元素都刪除完成
Hash/Set/ZSet類型:先執行 HSCAN/SSCAN/SCAN 查詢元素,再執行 HDEL/SREM/ZREM 依次刪除每個元素
沒想到吧?一個小小的刪除操作,稍微不小心,也有可能引發性能問題,你在操作時需要格外注意。
6) 批量命令代替單個命令
當你需要一次性操作多個 key 時,你應該使用批量命令來處理。
批量操作相比于多次單個操作的優勢在于,可以顯著減少客戶端、服務端的來回網絡 IO 次數。
所以我給你的建議是:
String / Hash 使用 MGET/MSET 替代 GET/SET,HMGET/HMSET 替代 HGET/HSET
其它數據類型使用 Pipeline,打包一次性發送多個命令到服務端執行
7) 避免集中過期 key
Redis 清理過期 key 是采用定時 + 懶惰的方式來做的,而且這個過程都是在主線程中執行。
如果你的業務存在大量 key 集中過期的情況,那么 Redis 在清理過期 key 時,也會有阻塞主線程的風險。
想要避免這種情況發生,你可以在設置過期時間時,增加一個隨機時間,把這些 key 的過期時間打散,從而降低集中過期對主線程的影響。
8) 使用長連接操作 Redis,合理配置連接池
你的業務應該使用長連接操作 Redis,避免短連接。
當使用短連接操作 Redis 時,每次都需要經過 TCP 三次握手、四次揮手,這個過程也會增加操作耗時。
同時,你的客戶端應該使用連接池的方式訪問 Redis,并設置合理的參數,長時間不操作 Redis 時,需及時釋放連接資源。
TSXP57103M 6ES7361-3CA01-0AA0 IM361接口模塊
6ES7368-3BB01-0AA0 連接電纜 (1米)
6ES7368-3BC51-0AA0 連接電纜 (2.5米)
6ES7368-3BF01-0AA0 連接電纜 (5米)
6ES7368-3CB01-0AA0 連接電纜 (10米)
6ES7390-1AE80-0AA0 導軌(480mm)
6ES7390-1AF30-0AA0 導軌(530mm)
6ES7390-1AJ30-0AA0 導軌(830mm)
6ES7390-1BC00-0AA0 導軌(2000mm)
6ES7392-1AJ00-0AA0 20針前連接器
6ES7392-1AM00-0AA0 40針前連接器
功能模板
6ES7350-1AH03-0AE0 FM350-1 計數器功能模塊
6ES7350-2AH00-0AE0 FM350-2 計數器功能模塊
6ES7351-1AH01-0AE0 FM351 定位功能模塊
6ES7352-1AH02-0AE0 FM352 電子凸輪控制器+組態包光盤
6ES7355-0VH10-0AE0 FM355C 閉環控制模塊
6ES7355-1VH10-0AE0 FM355S 閉環控制系統
6ES7355-2CH00-0AE0 FM355-2C 閉環控制模塊
6ES7355-2SH00-0AE0 FM355-2S 閉環控制模塊
6ES7338-4BC01-0AB0 SM338絕對位置輸入模塊
6ES7352-5AH00-0AE0 FM352-5高速布爾處理器
6ES7352-5AH00-7XG0 FM352-5功能軟件包
通訊模板
6ES7340-1AH02-0AE0 CP340 通訊處理器(RS232)
6ES7340-1BH02-0AE0 CP340 通訊處理器(20mA/TTY)
6ES7340-1CH02-0AE0 CP340 通訊處理器(RS485/RS422)
6ES7341-1AH01-0AE0 CP341 通訊處理器(RS232)
6ES7341-1BH01-0AE0 CP341 通訊處理器(20mA/TTY)
6ES7341-1CH01-0AE0 CP341 通訊處理器(RS485/RS422)
6ES7870-1AA01-0YA0 可裝載驅動 MODBUS RTU 主站
6ES7870-1AB01-0YA0 可裝載驅動 MODBUS RTU 從站
6ES7902-1AB00-0AA0 RS232電纜 5m
6ES7902-1AC00-0AA0 RS232電纜 10m
6ES7902-1AD00-0AA0 RS232電纜 15m
6ES7902-2AB00-0AA0 20mA/TTY電纜 5m
6ES7902-2AC00-0AA0 20mA/TTY電纜 10m
6ES7902-2AG00-0AA0 20mA/TTY電纜 50m
6ES7902-3AB00-0AA0 RS485/RS422電纜 5m
6ES7902-3AC00-0AA0 RS485/RS422電纜 10m
6ES7902-3AG00-0AA0 RS485/RS422電纜 50m
6GK7342-5DA02-0XE0 CP342-5通訊模塊
6GK7342-5DF00-0XE0 CP342-5 光纖通訊模塊
6GK7343-5FA01-0XE0 CP343-5通訊模塊
6GK7343-1EX30-0XE0 CP343-1 以太網通訊模塊
6GK7343-1EX21-0XE0 CP343-1 以太網通訊模塊
6GK7343-1CX00-0XE0 CP343-1 以太網通訊模塊
6GK7343-1CX10-0XE0 CP343-1 以太網通訊模塊
6GK7343-1GX20-0XE0 CP343-1 IT 以太網通訊模塊
6GK7343-1GX21-0XE0 CP343-1 IT 以太網通訊模塊(支持PROFINET)
6GK7343-1HX00-0XE0 CP343-1PN PROFINET以太網通訊模塊
6GK7343-2AH00-0XA0 CP343-2 AS-Interface
SIMATIC S7-300 系列
PS307 電 源 模 塊
6ES7307-1BA00-0AA0 120/230VAC輸入,24VDC輸出, 2A
6ES7307-1EA00-0AA0 120/230VAC輸入,24VDC輸出, 5A
6ES7307-1KA01-0AA0 120/230VAC輸入,24VDC輸出, 10A
中 央 處 理 單 元 CPU
6ES7312-1AE13-0AB0 CPU312,32K工作內存,位操作時間0.2μs,DI/DO256點,AI/AO64點
6ES7312-5BE03-0AB0 CPU312C,32K工作內存,位操作時間0.2μs,集成10DI/6DO,2通道高速計數,2通道PWM輸出,2通道頻率測量,PID調節;DI/DO256點,AI/AO64點,1個40針前連接器(另購)
6ES7313-5BF03-0AB0 CPU313C,64K工作內存,位操作時間0.1μs,集成24DI/16DO,4AI/2AO,3通道高速計數,2通道PWM輸出,2通道頻率測量,PID調節;DI/DO1016/1008點,AI/AO253/250點,2個40針前連接器(另購)
6ES7313-6BF03-0AB0 CPU313C-2PtP,64K工作內存,位操作時間0.1μs,RS485點對點接口,集成16DI/16DO,3通道高速計數,2通道PWM輸出,2通道頻率測量,PID調節;DI/DO1008點,AI/AO248點,1個40針前連接器(另購)
6ES7313-6CF03-0AB0 CPU313C-2DP,64K工作內存,位操作時間0.1μs,PROFIBUS-DP主/從接口,集成16DI/16DO,3通道高速計數,2通道PWM輸出,2通道頻率測量,PID調節;DI/DO1008
TSXP57103M 華銳SL1500/77風機備品備件
華銳SL1500/82型風機備品備件
風機機型華銳SL1500/82
新疆金風GW77/1500 型風力發電機組
新疆金風S50/750 風力發電機組
3MW風力發電機 3MW風機機艙柜
SCS溫度模塊 PTAI 216:bachmann XE82風機
模擬量輸入/輸出模塊 AIO288廠家:bachmann:適用于XE82風機
FL1500風機
金風1.5MW風機
數字量輸入/輸出模塊 DIO280 數量1
SCS溫度模塊 Bachmann PTAI 216 數量1
CAN總線從模塊CS200/N 內帶ISI222、AIO288、DIO248的驅動程序以及和CM202的通訊程序
編碼器接口模塊 ISI222 數量1
全新原裝華銳風機 WTCBA200A crowbar 正品保障windtec
2 主控制器WT98 ABB/WT98 07KT98 個 1 3
主控制器WT97 ABB/WT97 07KT97 個 1
4 巴赫曼PLC(塔基) 整套 個 1
5 PLC-電源模塊 24VDC/68W NT255 個 1
6 PLC-中央處理器模塊 128MB MPC240 個 1
8 PLC-數字I/0模塊 24VDC/1A DIO216 個 1
9 PLC-溫度記錄模塊 24VDC PTAI216
PLC模塊/通訊RS204
PLC模塊/網口EM203
PLC模塊DI232
PLC模塊DO232
角度控制元件 ISI222
PLC快速數據總線模塊FM211
PLC數字輸入輸出模塊DIO216
PLC模塊CM202
光纖傳輸接口模塊 FS211/N
人機界面(觸摸屏)|WT205 LX700/DD256/CF512/VX
巴赫曼人機界面(觸摸屏)WT205 LX800/DD512/CF512/VX
巴赫曼人機界面(觸摸屏)|WT205 LX700/DD256/CF512/VX||
巴赫曼WT205/T/BE1/LX7人機界面
24V電源模塊 NT255
MPC240控制器 MPC270
數字量輸入輸出模塊 DIO280
數字量輸入輸出模塊 DIO232
模擬量輸入輸出模塊 AIO288
DP模塊 DPM200
背板 BS212
編碼器模塊 IS1202/IS1222
FAST-BUS 模塊 FM211
風機PL模塊ISI222 機艙
風機PL模塊MX213 機艙
風機PL模塊FM211 塔基