当前位置:网站首页>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-06 04:38:00 【Java notes shrimp】
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 :
The most comprehensive java Interview question bank
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 !
边栏推荐
- Fedora/rehl installation semanage
- CADD course learning (8) -- virtual screening of Compound Library
- Easyrecovery reliable and toll free data recovery computer software
- Platformio create libopencm3 + FreeRTOS project
- 8. Static file
- 动态规划(树形dp)
- Query the number and size of records in each table in MySQL database
- Solution of storage bar code management system in food industry
- Can CDC pull the Oracle table in full
- 2327. 知道秘密的人数(递推)
猜你喜欢
Vulnerability discovery - vulnerability probe type utilization and repair of web applications
Slow SQL fetching and analysis of MySQL database
Visio draw fan
canal同步mysql数据变化到kafka(centos部署)
View 工作流程
Deep learning framework installation (tensorflow & pytorch & paddlepaddle)
[05-1, 05-02, 05-03] network protocol
Unity screen coordinates ugui coordinates world coordinates conversion between three coordinate systems
Data processing methods - smote series and adasyn
View workflow
随机推荐
【HBZ分享】ArrayList的增删慢查询快的原因
PTA tiantisai l1-078 teacher Ji's return (15 points) detailed explanation
[Chongqing Guangdong education] Suzhou University English film and Television Appreciation reference materials
Is the mode of education together - on campus + off campus reliable
Meet diverse needs: jetmade creates three one-stop development packages to help efficient development
How does vs change the project type?
Microservice resource address
Yyds dry inventory automatic lighting system based on CC2530 (ZigBee)
Complete list of common functions of turtle module
2328. Number of incremental paths in the grid graph (memory search)
Figure application details
In depth MySQL transactions, stored procedures and triggers
Unity screen coordinates ugui coordinates world coordinates conversion between three coordinate systems
[detailed steps of FreeRTOS shift value for the first time]
Uva1592 Database
解决“C2001:常量中有换行符“编译问题
Scala function advanced
项目经理,你会画原型嘛?项目经理需要做产品设计了?
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
View 工作流程