麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > Redis > 正文

Redis中一些最常見的面試問題總結

2020-10-28 21:32:39
字體:
來源:轉載
供稿:網友

前言

經過長達一周的奔波和面試,電話面試,回首今天終于成功的入職了,總共面試了大概10家公司,包括阿里,京東,IBM等等,京東技術過了,學歷因為非統招就被pass了,阿里面了2次電話面試就沒下文了,估計是我當時最后提問題的時候減分了吧,其他的也有一些offer,不是不想去,就是了無音訊了,眼看年關將近,也由不得我挑挑揀揀了,就直接進了我現在這家公司,主要是感覺公司人不錯,薪水這方面也就沒有計較太多。好了,書歸正文,今天小編就大家送上我精心準備的關于Redis方面的面試題,希望可以幫到還在求職路上的你們。

1.什么是redis?

Redis 是一個基于內存的高性能key-value數據庫。

2.Reids的特點  

Redis本質上是一個Key-Value類型的內存數據庫,很像memcached,整個數據庫統統加載在內存當中進行操作,定期通過異步操作把數據庫數據flush到硬盤上進行保存。因為是純內存操作,Redis的性能非常出色,每秒可以處理超過 10萬次讀寫操作,是已知性

能最快的Key-Value DB。

Redis的出色之處不僅僅是性能,Redis最大的魅力是支持保存多種數據結構,此外單個value的最大限制是1GB,不像 memcached只能保存1MB的數據,因此Redis可以用來實現很多有用的功能,比方說用他的List來做FIFO雙向鏈表,實現一個輕量級的高性 能消

息隊列服務,用他的Set可以做高性能的tag系統等等。另外Redis也可以對存入的Key-Value設置expire時間,因此也可以被當作一 個功能加強版的memcached來用。

Redis的主要缺點是數據庫容量受到物理內存的限制,不能用作海量數據的高性能讀寫,因此Redis適合的場景主要局限在較小數據量的高性能操作和運算上。

3.使用redis有哪些好處?   

(1) 速度快,因為數據存在內存中,類似于HashMap,HashMap的優勢就是查找和操作的時間復雜度都是O(1) 

(2) 支持豐富數據類型,支持string,list,set,sorted set,hash 

(3) 支持事務,操作都是原子性,所謂的原子性就是對數據的更改要么全部執行,要么全部不執行 

(4) 豐富的特性:可用于緩存,消息,按key設置過期時間,過期后將會自動刪除

4.使用redis有什么缺點

分析:大家用redis這么久,這個問題是必須要了解的,基本上使用redis都會碰到一些問題,常見的也就幾個。

回答:主要是四個問題

(一)緩存和數據庫雙寫一致性問題

(二)緩存雪崩問題

(三)緩存擊穿問題

(四)緩存的并發競爭問題

這四個問題,我個人是覺得在項目中,比較常遇見的。

5.redis相比memcached有哪些優勢?   

(1) memcached所有的值均是簡單的字符串,redis作為其替代者,支持更為豐富的數據類型

(2) redis的速度比memcached快很多 (3) redis可以持久化其數據

6.Memcache與Redis的區別都有哪些?   

1)、存儲方式 Memecache把數據全部存在內存之中,斷電后會掛掉,數據不能超過內存大小。 Redis有部份存在硬盤上,這樣能保證數據的持久性。

2)、數據支持類型 Memcache對數據類型支持相對簡單。 Redis有復雜的數據類型。

3)、使用底層模型不同 它們之間底層實現方式 以及與客戶端之間通信的應用協議不一樣。 Redis直接自己構建了VM 機制 ,因為一般的系統調用系統函數的話,會浪費一定的時間去移動和請求。

7.redis常見性能問題和解決方案:   

1).Master寫內存快照,save命令調度rdbSave函數,會阻塞主線程的工作,當快照比較大時對性能影響是非常大的,會間斷性暫停服務,所以Master最好不要寫內存快照。

2).Master AOF持久化,如果不重寫AOF文件,這個持久化方式對性能的影響是最小的,但是AOF文件會不斷增大,AOF文件過大會影響Master重啟的恢復速度。Master最好不要做任何持久化工作,包括內存快照和AOF日志文件,特別是不要啟用內存快照做持久化,如果數據比較關鍵,某個Slave開啟AOF備份數據,策略為每秒同步一次。

3).Master調用BGREWRITEAOF重寫AOF文件,AOF在重寫的時候會占大量的CPU和內存資源,導致服務load過高,出現短暫服務暫停現象。

4). Redis主從復制的性能問題,為了主從復制的速度和連接的穩定性,Slave和Master最好在同一個局域網內

8. mySQL里有2000w數據,redis中只存20w的數據,如何保證redis中的數據都是熱點數據

相關知識:redis 內存數據集大小上升到一定大小的時候,就會施行數據淘汰策略(回收策略)。redis 提供 6種數據淘汰策略:

  • volatile-lru:從已設置過期時間的數據集(server.db[i].expires)中挑選最近最少使用的數據淘汰
  • volatile-ttl:從已設置過期時間的數據集(server.db[i].expires)中挑選將要過期的數據淘汰
  • volatile-random:從已設置過期時間的數據集(server.db[i].expires)中任意選擇數據淘汰
  • allkeys-lru:從數據集(server.db[i].dict)中挑選最近最少使用的數據淘汰
  • allkeys-random:從數據集(server.db[i].dict)中任意選擇數據淘汰
  • no-enviction(驅逐):禁止驅逐數據

9.請用Redis和任意語言實現一段惡意登錄保護的代碼,限制1小時內每用戶Id最多只能登錄5次。具體登錄函數或功能用空函數即可,不用詳細寫出。

用列表實現:列表中每個元素代表登陸時間,只要最后的第5次登陸時間和現在時間差不超過1小時就禁止登陸.用Python寫的代碼如下:

#!/usr/bin/env python3import redis import sys import time  r = redis.StrictRedis(host='127.0.0.1′, port=6379, db=0) try:  id = sys.argv[1]except:  print(‘input argument error')  sys.exit(0) if r.llen(id) >= 5 and time.time() 

主站蜘蛛池模板:
一区二区久久久久草草
|
久草在线视频免费播放
|
精品xxxx户外露出视频
|
久久千人斩
|
十级毛片
|
福利免费在线观看
|
久草在线视频福利
|
亚洲成人国产综合
|
动漫孕妇被羞羞视频
|
久久国产精品久久久久久
|
久久色伦理资源站
|
久久精品黄
|
国内精品一级毛片免费看
|
爱高潮www亚洲精品
国产精品一区自拍
|
成人毛片免费
|
欧美亚洲国产日韩
|
国产一级毛片国产
|
新久草在线视频
|
91久久久久|
羞羞答答www网站进入
|
久久精品国产清自在天天线
|
欧美日韩免费一区二区三区
|
成人在线观看免费高清
|
亚洲小视频在线
|
午夜色片
|
欧美日韩高清不卡
|
一级α片免费看刺激高潮视频
|
亚洲人成电影在线
|
小视频成人
|
亚洲天堂成人在线
|
亚洲精品成人久久久
|
91久久精品一区二区
|
激情综合网俺也去
|
久久国产精品免费视频
|
国产精品99久久免费观看
|
久久福利国产
|
福利在线影院
|
日韩电影一区二区
|
久久久婷婷一区二区三区不卡
|
九色国产|
日本中文字幕电影在线观看
|