天天看點

Python自動化測試面試題-Redis篇

Redis有哪幾種資料類型

  1. 字元串String
  2. 清單List
  3. 集合Set
  4. 有序集合ZSet
  5. 哈希

Redis怎麼擷取值

  • GET
  • GETRANGE
  • MGET
  • GETSET

用過哪些緩存,大面積Key失效稱作什麼?

什麼是緩存雪崩、緩存擊穿及緩存穿透?如何應對?

  • 緩存雪崩:大面積Key失效導緻資料庫壓力劇增,應對方法
  • Key失效時間設定随機值,防止同時失效
  • 緩存指向分布式資料庫,以分擔資料庫壓力
  • 熱點資料設定為用不過期
  • 緩存擊穿:緩存無,資料庫有。高并發通路下緩存失效導緻資料庫壓力劇增,應對方法
  • 熱點資料設定為用不過期
  • 使用互斥鎖對資料庫通路限流
  • 緩存穿透:緩存無,資料庫無。如非法通路。
  • 對接口增加校驗,攔截非法資料
  • 對無值對Key緩存null值

Redis的應用場景

  1. 緩存-熱資料
  2. 計數器incrby
  3. 隊列
  4. 位操作 setbit getbit bitcount
  5. 分布式鎖與單線程機制 秒殺
  6. 最新清單 list
  7. 排行榜 zset

Redis如何應将業務操作轉為原子性操作