1.Redis 有哪些數據類型,可參考《Redis常見的5種不同的數據類型詳解》
5種數據類型:String、List、Set、Hash包含鍵值對的散列值、ZSet有序集合
String : 封鎖一個IP地址、 Incby命令
Hash : 存儲用戶信息 【id,name,age】 Hash(userkey,age,23) --修改Hget(userKey,id)
2.Redis 內部結構
3.Redis 使用場景
4.Redis 持久化機制,可參考《使用快照和AOF將Redis數據持久化到硬盤中》
RDB:創建一個子進程持久化,速度快,節省磁盤空間;數量大的時候比較耗性能,持久化力度大,是全量替換的
AOF:以日誌的方式記錄每個寫操作,只追加文件 ,備份機制穩定,是刻度的日誌文本;佔用更多的磁盤空間,恢復速度慢。
5.Redis 集羣方案與實現
6.Redis 爲什麼是單線程的?
Redis是用”單線程-多路複用IO模型”來實現高性能的內存數據服務的,這種機制避免了使用鎖,
但是同時這種機制在進行sunion之類的比較耗時的命令時會使redis的併發下降。因爲是單一線程,所以同一時刻只有一個操作在進行,所以,耗時的命令會導致併發的下降,不只是讀併發,寫併發也會下降。而單一線程也只能用到一個CPU核心,所以可以在同一個多核的服務器中,
可以啓動多個實例,組成master-master或者master-slave的形式,耗時的讀命令可以完全在slave進行。
7.緩存雪崩、緩存穿透、緩存預熱、緩存更新、緩存降級
8.使用緩存的合理性問題
9.Redis常見的回收策略