Huarui Profile picture
Apr 9 4 tweets 1 min read
#Redis
大key影响:因为redis是单线程的,如果自己或者其他上游访问一个大key或自己批量操作mget等操作造成一次性访问过大的数据量成一个大key卡顿,会造成大key的卡顿,卡顿时间长短和key的大小以及对这个大key访问的操作有关。如果redis卡顿,会造成其他所有请求该redis的请求超时报错
在业务侧的表现就是一波抖动报错,如果持续访问大key,会导致整个redis吞吐严重下滑,超时报错持续增多。

大key标准:
string value大小大于 10KB,单位是byte
hash/set/zset/list等 数据结构中 元素个数大于 5000
hash/set/zset/list等 单key整体value大于 10mb
解决思路:
1.大key拆分,结合具体业务场景,将大key进一步拆分为小key
2.对大key进行压缩
3.避免大key全部内容获取等操作,比如hgetall等获取全部内容的命令替换为逐个访问的命令;避免O(n)等开销大的操作
4.批量操作 mget、pipline 等操作控制key 个数在20内并且所有key 大小不要超过100k

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Huarui

Huarui Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(