0
点赞
收藏
分享

微信扫一扫

html+css+js网页设计 故宫7个页面 ui还原度100%

生态人 2024-09-05 阅读 16
redis

1、常见面试题:

  • 1.阿里的广告平台,海量数据里面查询某一固定前缀的key
  • 2.小红书,如何在生产限制keys*/flushdb/flushall等危险命令以防止误删除误使用
  • 3.美团,MEMORU USAGE命令你使用过吗
  • 4.Bikey问题,多大算big?你如何发现?如何删除?如何处理
  • 5.BigKey你做过调优吗?惰性释放lazyfree了解过吗
  • 6.MoreKey问题。生产上redis数据库有1000W记录,你如何遍历?key*可以吗?

2、MorKey问题:

2.1.数据准备:

  • 1.Linux Bash下面执行如下命令,是将100万条命令写入到temp目录下的一个临时文件中:
    在这里插入图片描述
  • 2.通过redis提供的管道–prpe命令插入1000W大批量数据
    在这里插入图片描述
  • 3.查看Redis中key的数量:
    在这里插入图片描述

2.2.某快递巨头真实生产案例:

a.新闻内容:

在这里插入图片描述

b. key*:你试试100wh花费多少秒遍历查询:

  • 1.key*:这个命令有致命的弊端,在生产环境中,最好不要使用
  • 2.禁用原因:
    在这里插入图片描述

c. 生产上限制key*/flushdb/flushall等危险命令以防止误删误用:

  • 1.通过配置设置禁用这些命令,redis.conf配置文件中在SEURITY这一项中
  • 2.配置如下:
    在这里插入图片描述

2.3.不适用key*避免卡顿,那应该用什么?

a.scan命令:

  • 1.英文地址介绍
  • 2.中文地址介绍
    在这里插入图片描述

b.语法:

在这里插入图片描述
在这里插入图片描述

c.特点:

在这里插入图片描述

d.使用:

在这里插入图片描述


3、BigKey:

3.1.多大的算BigKey

在这里插入图片描述


3.2.String和二级结构:

  • 1.string 是value,最大512MB但是 >= 10KB 就是bigkey
  • 2.list、hash、set和zset个数超过5000就是bigkey

3.3.BigKey危害:

  • 1.内存不均,集群迁移困难
  • 2.超时删除,大key导致阻塞
  • 3.网络流量阻塞

3.4.BigKey如何产生

  • 1.社交类:明星的粉丝列表逐步递增:
  • 2.汇总统计:某个报表,经年累月的积累

3.5.BigKey如何发现

a.命令:redis-cli --bigkeys

  • 给出每种数据结构Top 1 bigkey,同时给出每种数据类型的键值个数+平均大小
  • 想查询大于10kb的所有key,--bigkeys参数就无能为力了,需要用到memory usage来计算每个键值的字节数
redis-cli --bigkeys
redis-cli -h 127.0.0.1 -p 6379 -a 111111 --bigkeys

   
//每隔 100 条 scan 指令就会休眠 0.1s,ops 就不会剧烈抬升,但是扫描的时间会变长
redis-cli -h 127.0.0.1 -p 7001 –-bigkeys -i 0.1

在这里插入图片描述


b.命令memory usage

在这里插入图片描述
在这里插入图片描述


3 .6.删除bigkey

a.String

  • 1.一般用del,过于庞大使用unlink

b.hash

  • 1.使用hscan每次获取少量field-value,再使用hdel删除每个field
  • 2.语法
    在这里插入图片描述
  • 3.阿里手册:
    在这里插入图片描述

c.list:

  • 1.使用 ltrim 渐进式逐步删除,直到全部删除
  • 2.命令:
    在这里插入图片描述
    在这里插入图片描述
  • 3.阿里手册:
    在这里插入图片描述

d.set

  • 1.使用sscan 每次获取部分元素,再使用 srem 命令删除每个元素
  • 2.命令:
    在这里插入图片描述
  • 3.阿里手册:
    在这里插入图片描述

e.zset

  • 1.使用zscan每次获取部分元素,再使用ZREMRANGEBYRANK 命令删除每个元素
  • 2.命令:
    在这里插入图片描述
  • 3.阿里手册:
    在这里插入图片描述

2.6.BigKey生产调优:

a.阻塞和非阻塞删除命令:

在这里插入图片描述

b.优化配置:

在这里插入图片描述

举报

相关推荐

0 条评论