当前位置:网站首页>Redis has four methods for checking big keys, which are necessary for optimization
Redis has four methods for checking big keys, which are necessary for optimization
2022-07-05 04:54:00 【Java confidant_】
Click on the official account , Practical technical articles Know in time
Abstract : In daily life Redis In use , Inevitably encountered because key Too much data is stored, causing requests to be slow or even blocked , This is the time to check Redis The big key To optimize the business , The following provides a summary of some troubleshooting schemes , For reference only .
One 、 What size key It's big ?
Redis practice ( For reference only ):
reasonable Key in Value Byte size of , Less than recommended 10 KB.
Too much Value Will cause data skew 、 hotspot Key、 Instance traffic or CPU Problems such as full performance , The performance impact of such problems should be avoided from the design source .
that value Bytes > 10 kb Can be used as a judgment Big key A reference value of .
Two 、 Troubleshooting key Methods
1、 Use command --bigkeys
--bigkeys
yes redis The order that comes with you , To the whole Key scan , Statistics string,list,set,zset,hash The largest of these common data types key.
string The type of statistics is value Bytes of ; in addition 4 Types of complex structures count the number of elements , Can not be seen intuitively value Bytes occupied , therefore --bigkeys For analysis string Large of type key It is useful to , The type of complex structure also needs some third-party tools .
notes : Fewer elements , not always value not big ; There are many elements , Not necessarily. value Big
redis-cli -h 127.0.0.1 -p 6379 -a "password" --bigkeys
--bigkeys
In order to scan Scan all by delaying calculation key, Therefore, there will be no blocking during execution redis, But there are a large number of instances keys when , The command takes a long time to execute , In this case, it is suggested that slave Scan up .
–-bigkeys
In fact, it is to find the largest of the types key, maximal key It doesn't have to be big key, maximal key Not more than 10kb Words , It means that there is no big key.
But if a certain type has more big key (>10kb), Statistics only top1 the key, If you want to count all greater than 10kb Of key, Need to scan with third-party tools rdb Persistent files .
2、 Use memory Command view key Size ( Support only Redis 4.0 Later versions )
redis-cli -h 127.0.0.1 -p 6379 -a password
MEMORY USAGE keyname1
(integer) 157481
MEMORY USAGE keyname2
(integer) 312583
3、 Use Rdbtools tool kit
Rdbtools yes python Written A third-party open source tool , Used to resolve Redis Snapshot file . In addition to parsing rdb file , It also provides statistics of individual key Tools of size .
1、 install
git clone https://github.com/sripathikrishnan/redis-rdb-tools
cd redis-rdb-tools sudo && python setup.py install
2、 Use
from dump.rdb
Snapshot file statistics , Will all > 10kb Of key Output to a csv file
rdb dump.rdb -c memory --bytes 10240 -f live_redis.csv
4、 Use go-redis-bigkv
go-redis-bigkv Is a small tool developed by myself . Mainly be based on memory command , scanning redis All of the key, And the results are according to Sort by memory size , And the sorted Results output to txt In file . the reason being that With scan Scan all by delaying calculation key, Therefore, there will be no blocking during execution redis, But there are a large number of instances keys when , The command takes a long time to execute .
Project address :
https://github.com/th3ee9ine/go-redis-bigk
recommend
Technical involution group , Learn together !!
PS: Because the official account platform changed the push rules. , If you don't want to miss the content , Remember to click after reading “ Looking at ”, Add one “ Star standard ”, In this way, each new article push will appear in your subscription list for the first time . spot “ Looking at ” Support us !
边栏推荐
- Wenet: E2E speech recognition tool for industrial implementation
- Create a pyGame window with a blue background
- Inline built-in function
- AutoCAD - Zoom previous
- Unity get component
- AutoCAD - feature matching
- 介绍汉明距离及计算示例
- Data security -- 14 -- Analysis of privacy protection governance
- 669. 修剪二叉搜索树 ●●
- English topic assignment (26)
猜你喜欢
An article takes you to thoroughly understand descriptors
PostgreSQL 超越 MySQL,“世界上最好的编程语言”薪水偏低
次小生成树
Introduce Hamming distance and calculation examples
AutoCAD - Center zoom
2022 U.S. college students' mathematical modeling e problem ideas / 2022 U.S. game e problem analysis
AutoCAD - scaling
LeetCode之单词搜索(回溯法求解)
XSS injection
[crampon game] MC tutorial - first day of survival
随机推荐
Download the details and sequence of the original data access from the ENA database in EBI
AutoCAD - full screen display
AutoCAD - isometric annotation
JMeter -- distributed pressure measurement
中国聚氨酯硬泡市场调研与投资预测报告(2022版)
Fluent objects and lists
[groovy] closure closure (customize closure parameters | customize a single closure parameter | customize multiple closure parameters | specify the default value of closure parameters)
Unity get component
AutoCAD - window zoom
Flutter tips: various fancy nesting of listview and pageview
[Chongqing Guangdong education] National Open University 2047t commercial bank operation and management reference test in autumn 2018
【acwing】240. food chain
次小生成树
Introduction to JVM principle and process
Personal required code
[groovy] closure (closure parameter list rule | default parameter list | do not receive parameters | receive custom parameters)
The principle of attention mechanism and its application in seq2seq (bahadanau attention)
2022 thinking of mathematical modeling C problem of American college students / analysis of 2022 American competition C problem
AutoCAD - set layer
Establish cloth effect in 10 seconds