当前位置:网站首页>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 !
边栏推荐
- Flutter tips: various fancy nesting of listview and pageview
- Detailed explanation of the ranking of the best universities
- [groovy] closure closure (customize closure parameters | customize a single closure parameter | customize multiple closure parameters | specify the default value of closure parameters)
- Wenet: E2E speech recognition tool for industrial implementation
- 次小生成树
- 【Leetcode】1352. Product of the last K numbers
- PostgreSQL surpasses mysql, and the salary of "the best programming language in the world" is low
- [groovy] closure (closure parameter binding | curry function | rcurry function | ncurry function | code example)
- Redis 排查大 key 的4种方法,优化必备
- AutoCAD - scaling
猜你喜欢
AutoCAD - lengthening
Unity3d learning notes
54. Spiral matrix & 59 Spiral matrix II ●●
Redis 排查大 key 的4种方法,优化必备
The principle of attention mechanism and its application in seq2seq (bahadanau attention)
[groovy] closure (Introduction to closure class closure | this, owner, delegate member assignment and source code analysis)
xss注入
Thinking of 2022 American College Students' mathematical modeling competition
[groovy] closure (closure as function parameter | code example)
JVM 原理和流程简介
随机推荐
2021 higher education social cup mathematical modeling national tournament ABCD questions - problem solving ideas - Mathematical Modeling
[crampon programming] lintcode decoding Encyclopedia - 1100 strange printer
AutoCAD - stretching
[groovy] closure (closure as function parameter | code example)
#775 Div.1 B. Integral Array 数学
Wenet: E2E speech recognition tool for industrial implementation
Leetcode 222 number of nodes of complete binary tree
AutoCAD - workspace settings
China needle coke industry development research and investment value report (2022 Edition)
Emlog blog theme template source code simple good-looking responsive
54. 螺旋矩阵 & 59. 螺旋矩阵 II ●●
[goweb development] Introduction to authentication modes based on cookies, sessions and JWT tokens
Establish cloth effect in 10 seconds
775 Div.1 C. Tyler and strings combinatorial mathematics
中国针状焦行业发展研究与投资价值报告(2022版)
2021 electrician cup (the 12th "China Society of electrical engineering Cup" National Undergraduate electrician mathematical modeling) detailed ideas + codes + references
3dsmax scanning function point connection drawing connection line
GameObject class and transform class of unity
mysql审计日志归档
Function template