SpringBoot 階段測試 1( 三 )

10、redis有哪些數據類型?你常用哪些數據類型?redis有哪些數據類型: string list set hash zset geospatial hyperloglog bitmaps常用哪些數據類型: string hash zset: 比如 做瀏覽記錄 bitmaps: 比如 每日打卡(占用內存小)11、如何在redis中保存一個java對象,又如何把redis中數據變為java對象?如何在redis中保存一個java對象: 將對象轉換為json字符串,存入redis中如何把redis中數據變為java對象: 從redis中獲取對象json字符串,再轉為對應的對象注意: 需要自定義對象序列化方式12、什么是序列化?為什么需要序列化,在哪些場景中需要序列化?什么是序列化: 把對象轉換為字節序列的過程 將對象的狀態信息轉換為可以存儲或傳輸的形式的過程什么是反序列化: 把字節序列恢復為對象的過程為什么需要序列化: 序列化的原因是 想將對象轉換成流,方便存儲和在網絡上傳輸 。在哪些場景中需要序列化: 把內存中的對象狀態保存到一個文件或者數據庫中時候 用套接字再網絡上傳送對象的時候 通過RMI傳輸對象的時候(RMI是什么東西?):RMI總結來說就是遠程調用對象,在一個jvm上調用另一個jvm的對象 。通過RPC調用接口,獲取對象的時候 把對象存入redis中的時候13、redis是單線程還是單進程的?redis是單線程還是單進程: 單線程:redis 為什么快: 為什么redis那么快?剖析redis快的原因: https://blog.csdn.net/qq3073959033/article/details/127415029 https://blog.csdn.net/weixin_43001336/article/details/122773260 1.純內存KV操作 2.單線程操作 3.I/O 多路復用 4.Reactor 設計模式那么為什么Redis是單線程的:https://blog.csdn.net/weixin_44395707/article/details/106192656原因如下:1. CPU不是瓶頸:Redis的所有操作都是基于內存的,而CPU不是Redis的瓶頸 。在大多數情況下 , Redis的瓶頸很可能是機器內存或網絡帶寬的大小 。如果我們想要更高的性能,可以使用單線程Redis,我們可以使用集群(多個進程)解決方案 。2. 并發性:并行性不是支持多個客戶端的唯一策略 。Redis使用epoll和事件循環來實現并發策略并節省大量時間而無需上下文切換 。3. 易于實現:編寫多線程程序可能會更加困難 。我們需要為線程添加鎖和同步機制 。4. 易于部署:單線程應用程序可以部署在至少具有單個CPU內核的任何計算機上 。14、簡述下redis 中 setnx命令的效果或作用?redis 中 setnx命令的效果或作用: 只有key不存在的情況下,設置key的值,如key存在,則什么也不做 。設置成功返回1,失敗返回0;redis setnx java_Redis SETNX 命令: https://blog.csdn.net/weixin_39517289/article/details/11446856215、介紹下你用redis做過的一些業務,以及為什么你用redis 做 。用redis做過的一些業務: 緩存 數據共享分布式 分布式鎖 全局ID 計數器 限流 位統計 購物車 用戶消息時間線timeline 消息隊列 抽獎 點贊 簽到 打卡 商品標簽 商品篩選 用戶關注 推薦模型 排行榜Redis 16 個常見的使用場景: https://blog.csdn.net/gp_911014/article/details/12474486916.事務隔離級別有哪些?MySQL的默認隔離級別是?事務隔離級別有哪些: 讀未提交 讀已提交 可重復讀 可串行化MySQL的默認隔離級別是: 可重復讀臟讀、幻讀和不可重復讀:https://blog.csdn.net/qq_41776884/article/details/81608777 臟讀: 臟讀就是指當一個事務正在訪問數據,并且對數據進行了修改 , 而這種修改還沒有提交到數據庫中,這時,另外一個事務也訪問這個數據 , 然后使用了這個數據 。不可重復讀: 是指在一個事務內,多次讀同一數據 。在這個事務還沒有結束時,另外一個事務也訪問該同一數據 。那么,在第一個事務中的兩次讀數據之間,由于第二個事務的修改,那么第一個事務兩次讀到的的數據可能是不一樣的 。這樣就發生了在一個事務內兩次讀到的數據是不一樣的,因此稱為是不可重復讀 。幻讀: 是指當事務不是獨立執行時發生的一種現象 , 例如第一個事務對一個表中的數據進行了修改,這種修改涉及到表中的全部數據行 。同時,第二個事務也修改這個表中的數據,這種修改是向表中插入一行新數據 。那么 , 以后就會發生操作第一個事務的用戶發現表中還有沒有修改的數據行,就好象發生了幻覺一樣. 提醒: 臟讀:一個事務讀取到另外一個事務沒有提交的修改數據 不可重復讀的重點是修改:同樣的條件,你讀取過的數據,再次讀取出來發現值不一樣了 幻讀的重點在于新增或者刪除:同樣的條件,第 1 次和第 2 次讀出來的記錄數不一樣隔離級別臟讀不可重復讀幻讀READ-UNCOMMITTED√√√READ-COMMITTED×√√REPEATABLE-READ××√SERIALIZABLE×××17、為什么要使用統一返回類?

推薦閱讀