Тёмный

我是Redis,MySQL大哥被我坑惨了! 

轩辕的编程宇宙
Подписаться 13 тыс.
Просмотров 67 тыс.
50% 1

大厂面试都爱问的Redis是如何工作的,看完这个视频就知道了!
大家好,我是新人RU-vidr轩辕,专注分享硬核又有趣的计算机知识,欢迎订阅我的频道!
=========================分割线============================
背景音乐来源信息:
Harmony by Vlad Gluschenko | / vgl9
Music promoted by www.free-stock...
Creative Commons / Attribution 3.0 Unported License (CC BY 3.0)
creativecommon...

Опубликовано:

 

26 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 65   
@goldmanking5078
@goldmanking5078 Год назад
太赞了,支持up主,讲的风趣幽默的同时又有对程序原理深刻的洞见,非常棒!
@ベルガラス-o4o
@ベルガラス-o4o Год назад
这种风趣正是支性的体现。
@teowzhitong9806
@teowzhitong9806 Год назад
很喜欢这种方式讲解,有图,有故事,比起文字更能容易理解和吸收。大力支持🎉
@kaiyangwu2198
@kaiyangwu2198 Год назад
雖然已經知道原理,但你說的太有趣了,看完又複習一次。很期待你多做一些這類型的影片,謝謝你的用心製作,謝謝
@huoschen
@huoschen Год назад
私以為有一些問題還蠻蠢的! 我在一些產品上自己手搓的資料緩存機制是這樣的: 我不使用固定的超時機制,而是定下一個記憶體最大用量,如果資料緩存即將會超過這個量,則移除那些最「舊」的資料,讓出空間。所以這裡沒有超時不超時的問題,如果一直沒有新資料進來的話,很舊很舊的資料也可能會一直存在,而這也無所謂。而且這麼做記憶體不會爆,最多就用到設定的那個空間大小。 至於什麼樣的資料叫「新」?什麼樣的資料叫「舊」?剛從大後方讀出來的資料是新資料,一直沒有人讀取的資料是舊資料。還有一旦有人取用了緩存內的某個資料,那個資料的生命年齡就會立刻歸零,變成新資料;也就是說如果有一筆資料已經很舊即將被刷出,只要有人取用了它,則它立刻就會被刷新;如果有一筆資料是熱門資料,經常被取用,則它永遠就不會舊。 為做到這樣的機制,我只需要建立兩個查找系統,第一個資料結構是符合資料庫正規查找的結構,第二個是一個鏈結串列,用來管理所謂的資料新舊關係。新的資料就插入串列頭,中途被取用的資料就從串列解出後重新插入串列頭;當需要的時候就直接從串列尾開始移除資料,不需要查找、不需要隨機,也不會有什麼資料永遠釘子戶留在那。
@linshengred
@linshengred Год назад
這不就是LRU演算法嗎 影片除了LRU還更多刪除策略...參考3:05 當今天資料更新很頻繁或刪除需求很大的時候 若只從串列尾部開始一筆筆刪除 是不是很花時間。O(n)線性 但如果有張表來紀錄維護過期的資料 就可以進行批次的資料移除
@keep_calm_and_carryon
@keep_calm_and_carryon Год назад
記憶體裝大一點,盡量把資料轉成session(), session ()每使用一次,增加一分鐘時效。
@mediocre2
@mediocre2 Месяц назад
挺好的 就是我第一次听人这么读redis(read-dis), 我一般听到都是 red-dis,可能是我孤陋寡闻了
@clairezhang3103
@clairezhang3103 Год назад
大哥,你真是个人才呀!没办法不一键三联! 超赞!
@JoeyLu
@JoeyLu Год назад
还是微软大哥的东西好用又实在。。虽然贵,但却是好用啊。
@08058804
@08058804 Год назад
脫離後端一段時間,不知不覺把這系列看完了
@sc0110
@sc0110 4 дня назад
太讚了
@SeiLi-hr9hf
@SeiLi-hr9hf Год назад
還是要有大哥有小弟才有趣
@ShengWenChen
@ShengWenChen Год назад
講解的不錯 讚
@oceanwjswong1162
@oceanwjswong1162 Год назад
講的真好
@cia1099
@cia1099 Месяц назад
讲得很具体生动有趣啊😂
@ox6542
@ox6542 Месяц назад
這個情境是假定數據只讀不寫嗎?不然mySQL那邊如果有被別的service update,要如何通知cache數據過期,還是在雙11這種use case裡consistency不重要🤔
@kanlu5199
@kanlu5199 Год назад
MySQL本身不是也有内存来缓存吗?
@Evan-fj2lb
@Evan-fj2lb Год назад
RDB和AOF是不是该上场了
@bruceliebewilma
@bruceliebewilma Год назад
都有cpu和缓存的架构了,Redis怎么就不学学他们管理进程的方式。。。
@JunKaiGan
@JunKaiGan Месяц назад
这影片太棒了
@JayHsuLatte
@JayHsuLatte Месяц назад
😂 超牛逼的解釋
@浮躁天狗活着
@浮躁天狗活着 7 месяцев назад
真不错
@服务器维护成都
@服务器维护成都 Год назад
没有redis之前还有memcache
@youngyoung3976
@youngyoung3976 Год назад
可以对键值命中做统计?对命中超过某个阈值的,不要清除。 这个统计和阈值的设置甚至可以有AI计算
@yayapipi1385
@yayapipi1385 Год назад
太棒了,直接订阅!
@kahchon87
@kahchon87 Год назад
Memcached 是不是和 redis 一样?
@cinnamon2006
@cinnamon2006 Месяц назад
Memcache也不错。。。
@kunmiaoyang9515
@kunmiaoyang9515 Год назад
后事就是Redis也能persist
@cncclay7473
@cncclay7473 Год назад
谢谢。
@Qwerty-ru8cz
@Qwerty-ru8cz Месяц назад
牛哇
@sciab3674
@sciab3674 Год назад
有意思 不错。
@samshum2
@samshum2 Год назад
勵害,完全沒想到還可以說成故事來,但有一點不明白,就是第一次問mysql,數據不應該上載redis做緩存了嗎?
@nbspnbsp5639
@nbspnbsp5639 Год назад
这个第一次不是原子操作,是很多同时来,这些都是第一次
@michaeldang8189
@michaeldang8189 Год назад
我也有同样的疑问,偶然一次击穿(再来的Redis应该有缓存抵挡了),这MySQL就扛不住,MySQL怎么也是历练多年出来的武林大咖,不会这么菜吧?
@wudewang9947
@wudewang9947 6 дней назад
@@michaeldang8189 国内对mysql的印象还停留在过去
@tommymairo8964
@tommymairo8964 25 дней назад
所以為啥不用 Cassandra 😂
@frank_zhao
@frank_zhao Год назад
太赞了👍
@foollonggone4727
@foollonggone4727 Год назад
謝謝
@ifcwlme
@ifcwlme Год назад
mysql 不是也有 cahce 嗎?
@wanderer4290
@wanderer4290 Месяц назад
大赞
@pat.j3667
@pat.j3667 Год назад
不错
@michaeldang8189
@michaeldang8189 Год назад
热点缓存清除后大量访问击穿到MySQL,但是那不应该只是一次而已吗?头一次击穿后就该又缓存了,大量访问也只是跑在最前头的那一次穿啊,我想错了吗?
@davidwu8232
@davidwu8232 Год назад
能接待的话还需要啥redis 逻辑问题
@ricosun
@ricosun Год назад
Nice !
@soulge
@soulge Год назад
缓存穿透是因为没有数据然后去数据库查询,那第一个穿透过去然后缓存下来, 后续的查询不就可以直接从缓存里拿吗?那怎么会有很多穿透过去? 这里是不是因为有很多这一类型的穿透才造成雪崩?
@aaronwu9695
@aaronwu9695 Год назад
通常是高併發的情況,單一KEY過期導致擊穿 雪崩是多個key 過期才導致的
@devinguo3726
@devinguo3726 Год назад
如果查询的东西MySQL里也不存在呢?
@devinguo3726
@devinguo3726 Год назад
穿透是指查询的东西MySQL中不存在,击穿是指mysql中存在但redis中没有(已过期),雪崩是指大量的击穿😁
@许跃华
@许跃华 Год назад
@@aaronwu9695 这位说的有道理,应该是和高并发有关系。不是高并发,第一个获得查询值后就缓存下来了,后面的自然会去找缓存
@indigoichigo
@indigoichigo Год назад
@@devinguo3726 一樣會設一個 key 儲存空值,但由於可能大量查詢不存在的數據,即使儲存空值也會占用 RAM,所以過期時間會設置比較短
@naturerelaxingsongs7084
@naturerelaxingsongs7084 Год назад
大赞
@波哥-p7k
@波哥-p7k Год назад
我竟然看笑了
@ravenxrz6523
@ravenxrz6523 Год назад
最后是是不是可以用共享内存?
@lixinyang6651
@lixinyang6651 28 дней назад
抄别人的内容就没意思了吧
@BurgerBurglar8964
@BurgerBurglar8964 21 день назад
原作者是谁
@pkpk1889
@pkpk1889 Год назад
看了前面准备点赞了,最后却要关注公众号才能看后面,果断点了踩
@xuanyuancoding
@xuanyuancoding Год назад
不关注也能看哦😅
@mingli9563
@mingli9563 Год назад
真不错
@jingvzhi
@jingvzhi Год назад
真不错
@boensad7911
@boensad7911 Год назад
太愚蠢了。。。
@nowhereman5956
@nowhereman5956 Год назад
讲得真不错,会做视频你就多做几部
Далее
Redis中的数据是如何持久化存储的?
6:13
Redis是干什么的?它的工作原理是什么?
3:26
🎙ПЕСНИ ВЖИВУЮ от КВАШЕНОЙ
3:05:21
MD5为何不再安全
13:00
Просмотров 134 тыс.
30分钟Docker入门教程
26:01
Просмотров 306 тыс.
CPU被挖矿,Redis竟是内鬼!
5:59
Просмотров 6 тыс.