当前位置:网站首页>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 !
边栏推荐
- Sqlserver query results are not displayed in tabular form. How to modify them
- HotSpot VM
- Implementation of knowledge consolidation source code 2: TCP server receives and processes half packets and sticky packets
- Guitar Pro 8.0最详细全面的更新内容及全部功能介绍
- Sorting out the latest Android interview points in 2022 to help you easily win the offer - attached is the summary of Android intermediate and advanced interview questions in 2022
- [leetcode question brushing day 33] 1189 The maximum number of "balloons", 201. The number range is bitwise AND
- P2022 有趣的数(二分&数位dp)
- C'est un petit résumé de l'étude.
- Easyrecovery reliable and toll free data recovery computer software
- How does computer nail adjust sound
猜你喜欢
Embedded development program framework
Sqlserver query results are not displayed in tabular form. How to modify them
CADD课程学习(7)-- 模拟靶点和小分子相互作用 (柔性对接 AutoDock)
Selection of slow motion function
Canal synchronizes MySQL data changes to Kafka (CentOS deployment)
Query the number and size of records in each table in MySQL database
[network] channel attention network and spatial attention network
[FreeRTOS interrupt experiment]
CADD course learning (8) -- virtual screening of Compound Library
How does computer nail adjust sound
随机推荐
Lombok原理和同时使⽤@Data和@Builder 的坑
How to estimate the population with samples? (mean, variance, standard deviation)
NPM command -- install dependent packages -- Usage / explanation
Case of Jiecode empowerment: professional training, technical support, and multiple measures to promote graduates to build smart campus completion system
Implementation of knowledge consolidation source code 2: TCP server receives and processes half packets and sticky packets
Recommendation | recommendation of 9 psychotherapy books
我想问一下 按照现在mysql-cdc的设计,全量阶段,如果某一个chunk的binlog回填阶段,
web工程导入了mysql驱动jar包却无法加载到驱动的问题
P3500 [poi2010]tes intelligence test (two points & offline)
E. Best Pair
Redis 排查大 key 的4種方法,優化必備
POI add border
[network] channel attention network and spatial attention network
Fedora/rehl installation semanage
DMA use of stm32
hashlimit速率控制
The value of two date types is subtracted and converted to seconds
A blog to achieve embedded entry
满足多元需求:捷码打造3大一站式开发套餐,助力高效开发
【HBZ分享】云数据库如何定位慢查询