当前位置:网站首页>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 !
边栏推荐
- 题解:《单词覆盖还原》、《最长连号》、《小玉买文具》、《小玉家的电费》
- 优秀PM必须经历这3层蜕变!
- 11. Intranet penetration and automatic refresh
- Lombok principle and the pit of ⽤ @data and @builder at the same time
- [05-1, 05-02, 05-03] network protocol
- [Yu Yue education] reference materials of complex variable function and integral transformation of Northwestern Polytechnic University
- ue5 小知识 FreezeRendering 查看视锥内渲染的物体
- tengine 内核参数
- Fuzzy -- basic application method of AFL
- CADD course learning (7) -- Simulation of target and small molecule interaction (flexible docking autodock)
猜你喜欢
CADD课程学习(8)-- 化合物库虚拟筛选(Virtual Screening)
满足多元需求:捷码打造3大一站式开发套餐,助力高效开发
During pycharm debugging, the view is read only and pause the process to use the command line appear on the console input
How to realize automatic playback of H5 video
8. Static file
Lombok原理和同时使⽤@Data和@Builder 的坑
[Zhao Yuqiang] deploy kubernetes cluster with binary package
Database - MySQL storage engine (deadlock)
ETCD数据库源码分析——etcdserver bootstrap初始化存储
When debugging after pycharm remote server is connected, trying to add breakpoint to file that does not exist: /data appears_ sda/d:/segmentation
随机推荐
Basic explanation of turtle module - draw curve
Vulnerability discovery - vulnerability probe type utilization and repair of web applications
Query the number and size of records in each table in MySQL database
Fedora/rehl installation semanage
拉格朗日插值法
Microservice resource address
Visio draws Tai Chi
coreldraw2022新版本新功能介绍cdr2022
A blog to achieve embedded entry
Etcd database source code analysis -- etcdserver bootstrap initialization storage
Case of Jiecode empowerment: professional training, technical support, and multiple measures to promote graduates to build smart campus completion system
POI add border
2328. Number of incremental paths in the grid graph (memory search)
ETCD数据库源码分析——etcdserver bootstrap初始化存储
Fedora/REHL 安装 semanage
[Chongqing Guangdong education] Suzhou University English film and Television Appreciation reference materials
Selection of slow motion function
P2022 有趣的数(二分&数位dp)
Meet diverse needs: jetmade creates three one-stop development packages to help efficient development
Guitar Pro 8.0最详细全面的更新内容及全部功能介绍