Một người rất tâm huyết cống hiến cho cộng đồng. Hy vọng có ngày nào đó có cơ hội giao lưu.
@cuongnguyenhong9898 Жыл бұрын
Một trong những kênh dạy lập trình nói tiếng Việt chất lượng nhất. Cảm ơn thầy
@anonystick Жыл бұрын
Cảm ơn em đồng hành
@dangtran85132 жыл бұрын
Không đơn thuần là nói về Redis, anh nói về kiến trúc thực tế rất hữu ích. Cảm ơn anh :v
@anonystick2 жыл бұрын
Cảm ơn bạn đã quan tâm
@PhúcNguyễn-p4v1e3 күн бұрын
Một kênh hay như thế này mà bây giờ em mới biết đến :((( em cảm ơn thầy ạ
@anonystick3 күн бұрын
Duyên thì sẽ đi cùng nhau em hen.
@hoangngoc119062 жыл бұрын
Đúng lúc đang tìm hiểu về Redis. Cảm ơn anh rất nhiều, mong anh ra nhiều video bổ ích hơn nữa ☘
@anonystick2 жыл бұрын
Redis này nó nhìn vậy chứ ko đơn giản
@LeucBinhPH5 ай бұрын
Quá mê luôn anh ơi, a dạy dễ hiểu, cụ thể, chi tiết và rất thực tế❤
@buinamit4 ай бұрын
Cảm ơn anh Tips! rất tuyệt vời
@phikiethoang7380 Жыл бұрын
Em thấy mô hình cuối cũng ko đảm bảo. G/s CR7 đã set db và delete cache. M10 miss cache, read DB, chuẩn bị set lại cache. Ngay trc khi M10 set cache, CR7 set db giá trị mới, rồi delete cache. Sau đó, M10 mới thực hiện set cache, thì nó set vào redis giá trị cũ, trong khi DB có giá trị mới rồi. Khả năng M10 khi read db, phải lock luôn row đó, set cache xong thì release lock. Như vậy, đảm bảo ko ai có thể xen vào giữa quá trình read db và set cache.
@MinhLe-ow6op5 ай бұрын
chung quy lại vấn đề về việc dùng cache ở đây chính là ở câu chuyện consistency data của cache so với dữ liệu thực, nên vấn đề ở đây phải xử lý được khi xảy ra high concurrency là tìm cách consistency đc data. Theo mình nghĩ là nếu cả 2 ghi cùng lúc thì nên del key trong cache đi chắc cx đc : ) mình thì ko rõ lắm vì cx mới học
@ucTran-sm4vs2 жыл бұрын
Video anh rất thực tế, RapidMQ và Message Queue em đang tìm hiểu mong anh có thể sớm chia sẻ những kiến thức thực tế xây dựng hệ thống lớn như vậy. Cảm ơn anh rất nhiều
@anonystick2 жыл бұрын
Ok Đức. Chiến
@ThaiNguyen-gg8xj2 жыл бұрын
@@anonystick Nếu được anh làm thêm về kafka và event-driven architecture được không ạ?
@tannguyen-jt8hn2 жыл бұрын
cảm ơn anh, nếu có thời gian rảnh hy vọng a có video về HA Redis ah.
@anonystick2 жыл бұрын
Mới xong á em
@ttsang2111 Жыл бұрын
Em học được thêm bài học về giải quyết vấn đề bằng đổi thứ tự của các thao tác ạ. Em cảm ơn anh đã chia sẻ đến mọi người. Em chúc anh và gia đình nhiều niềm vui và sức khoẻ ạ ^^
@anonystick Жыл бұрын
cảm ơn người anh em
@ucnguyen4386 Жыл бұрын
Hay quá anh ơi. Cảm ơn anh ạ
@duyettran79192 жыл бұрын
Mặc dù kênh anh là tips javascript nhưng em thấy kênh anh có rất nhiều kiến thức có thể áp dụng cho các ngôn ngữ khác.
@anonystick2 жыл бұрын
Đúng á em. Quan trọng là logic thuật toán, còn ngôn ngữ là công cụ
@nguyenvantruongfplhcm_k1781 Жыл бұрын
nghiệp vụ thi những ngôn ngữ nào cũng tương tự cơ chế như nhau mà
@angminhuc66742 жыл бұрын
quá hay anh ạ, hóng video Rabbit MQ của a
@binhlethanh41212 жыл бұрын
Ngồi cả ngày nghe thầy giảng cũng được nữa.Nghe xong đầu óc thông thoáng hẳn ra.😂
@anonystick2 жыл бұрын
Tks bạn. Mới có video mới hén
@BackendNestJs Жыл бұрын
thấy trước khi tìm hiểu gì mà xem thầy là thấy hay vl , có hứng thú học vl luôn =))) , kênh chất lượng quá thầy ơi
@anonystick Жыл бұрын
Cảm ơn bạn... Vui vì giúp được bạn..
@DatNguyen-fn5iq2 жыл бұрын
Vừa hay. Vừa hài. Cảm ơn thầy nhìu lắm!
@anonystick2 жыл бұрын
Hài chỗ nào vậy em?
@nguyen-van-quang2 жыл бұрын
Kiến thức anh chia sẽ rất hay, các bài toán này khả năng cũng là các vấn đề chung cho các hệ thống eCommerce, chắc cũng đã có nhiều lời giải, nhiều công cụ như anh nói trên. Cái chính là hiểu rồi nhưng làm sao để có cơ hội triển khai vậy anh, rất nhiều ông lớn đã có trên thị trường : ) .
@huongsenongthap4782 жыл бұрын
Bạn phải tìm giải pháp mới chứ, các tips anh chỉ ko chỉ ứng dụng eCommerce đâu??
@duyphongnguyen4016 Жыл бұрын
Cảm ơn tác giả nhiều.
@uchuynguyen55237 ай бұрын
Hay quá, cảm ơn Anh
@buikha2011 Жыл бұрын
Giải pháp lưu trữ cache của anh hay quá, nhưng có 1 điều là làm tăng thời gian của request, set cache, delete cache, vs rabbitmq sẽ có độ trễ.
Vấn đề không phải là ở cache mà đơn giản là hai user dùng chung một resource ( ở đây là db ) nên mới đẻ ra vấn đề conflict. Nên cách giải quyết ở đây là người ta mới dùng event bus ( như rabitMQ hay kafka ) để đảm bảo các consumer ( ở đây là user ) có tính nhất quán với nhau trọng việc nhận sự kiện ( update DB ) thát zít
@anonystick10 ай бұрын
😅
@ttv7128 Жыл бұрын
Qúa hay, cảm ơn anh đã chia sẽ
@anonystick Жыл бұрын
Cảm ơn em
@TamThanh-tb1vg2 жыл бұрын
Rất hay thầy ạ. Cảm ơn thầy rất nhiều
@anonystick2 жыл бұрын
Cảm ơn bạn
@thienhuynh57062 жыл бұрын
Hi anh sau khi nghe video anh chia sẽ em rút ra 2 kết luận, xin các anh chị cho ý kiến: 1. Vấn đề trong việc săn voucher trên UI hiển thị còn lại 3 mà click vô thì đã hết hàng là do nó get cache cũ. 2. Redis đóng vai trò trong việc đồng bộ hóa data cho cache. Bảo đảm tính nhất quán của cache và DB. Xin các anh chị cho ý kiến. Em xin cảm ơn.
@SonNguyen-ws6xw Жыл бұрын
Mình nghĩ redis chỉ đóng vai trò như 1 cache db cho phép truy vấn và ghi dữ liệu nhanh hơn, còn việc đồng bộ giữa cache và mysql db thì do rabbitmq chịu trách nhiệm
@samaHama-wfssa Жыл бұрын
vậy là db dự liệu quan trọng hơn, còn cache chỉ là bộ nhớ tạm thôi
@anonystick Жыл бұрын
Chính xác. Đều bữa này cài cloud cũng rẻ nên chơi đi em
@trungbui5963 Жыл бұрын
Hi Típ! A hướng dẫn quá hay về cách bán thời gian.. e vô tình lướt ngang tìm hiểu về lập trình web, và đang mong lung ko biết học lập trình web bắt đầu từ đâu, nhờ A hướng dẫn tư vấn bước đi sao vững ạ! Thân chào A hồi đáp!
@anonystick Жыл бұрын
Pm Anh hen em
@minhucbui956611 ай бұрын
tôi sai, tôi sai :)) Cảm ơn a đã chia sẻ. Chúc a sức khoẻ
@petertran33312 жыл бұрын
Do vậy ta mới hướng hệ thống ecommerce về thiết kế event.
@TienHoang-cm2jt6 ай бұрын
Hi anh, cảm ơn anh về bài chia sẻ rất hay ạ , nhưng anh cho em hỏi thêm xíu ở cái đoạn cuối thêm message queue , mục đích và ý nghĩa thêm nó vào ở đây làm gì ạ. Cảm ơn anh nhiều , mong anh hồi đáp ạ
@monglevan76812 жыл бұрын
Em vào xem vì anh để tiêu đề gắt quá :). =============>10 điểm
@dacdoanvan16332 жыл бұрын
cảm ơn anh
@anonystick2 жыл бұрын
Cảm ơn em
@tranbangbang5076 Жыл бұрын
Hay quá a. e có 1 vấn đề mong được a giải đáp ạ. nếu trong trường hợp cache miss cao hơn cache hit thì tốc độ của nó sẽ chậm hơn. vậy có cách nào để biết được tỉ lệ giữa cache miss và cache hit kh a, từ đó mình sẽ biết trường hợp nào nên sử dụng cache và trường hợp nào kh cần sử dụng cache ạ!
@duymanh55062 жыл бұрын
Hay quá a ơi
@anonystick2 жыл бұрын
Thật hả?? Kkk tks em
@pvc97 Жыл бұрын
Quá hay luôn ạ ❤
@thanhdungnguyen68162 жыл бұрын
Cảm ơn thầy
@giabao2807 Жыл бұрын
Quá hay anh ơi
@anonystick Жыл бұрын
Tks em nhiều!
@tientuao83352 жыл бұрын
Backend thì ghi đồng thời vào db và cache chứ không nhất thiết phải chờ queue xử lý
@anonystick2 жыл бұрын
Cuộc sống quá đẹp
@alooooooola2 жыл бұрын
non quá. Có là ghi đồng thời, chấp thread update db khởi chạy trước thì vẫn thua thread redis trong thời gian đó các lệnh update redis khác vẫn ập vào làm lệch data với db. Đó là vấn đề tương tự như race condition khá cơ bản
@duchoangtrung71519 ай бұрын
Quá hay ạ🎉🎉🎉
@joyceryan27255 ай бұрын
Cho mình hỏi, tại Hình cuối cùng, tại bước 5 set Cache. chỗ này là DB sẽ kết nối với Redis cache để set data hay là 1 ứng dụng(java, c#) thực hiện kết nối ?
@lekhanhduy78237 ай бұрын
6:00 Tại sao trong sơ đồ "read vs write cache", mình không bỏ bước del cache, thay vào đó khi set db thì sẽ set cache luôn ạ?
@tiendang5149 Жыл бұрын
Rất hay ạ
@laothantien2 жыл бұрын
Thanks
@giaphoang3167 Жыл бұрын
Sư phụ giải thích dễ hiểu thật. Ngu như Em mà vẫn hiểu đc
@anonystick Жыл бұрын
Cảm ơn em
@vkkamsy Жыл бұрын
hi anh, series này khá là thú vị và hay. anh có thể gom các video liên quan trong series này và đưa vào 1 playlist để em or mọi người tiện follow tuần tự không ạ. _Thanks a_
@phuquyamv85565 ай бұрын
anh ơi tất cả các video của anh từng đăng đều nằm trên kênh đúng không anh
@yong2774 Жыл бұрын
Quá hay.
@trantoan69852 жыл бұрын
Mô hình cuối, lúc M10 đọc trong cache thì miss cache, lúc đó xuống db read data. Vậy bước nào để rabbit mq update data từ db lên cache.
@anonystick2 жыл бұрын
Từ sql to redis nha Toàn.
@anonystick2 жыл бұрын
Set binlog thì càng tốt
@truyenyeu50032 жыл бұрын
Bucket Design Pattern Mongodb anh chưa làm phần update, delete 1 element trong mảng không biết là anh có thể nói nhanh hướng làm được không ạ
@anonystick2 жыл бұрын
Chưa có thời gian á bạn
@binhnguyenthanh52797 ай бұрын
7:25 Hình số 3 này sao lại là "Write and write cache" vậy ạ? Em tưởng nó vẫn là "Read and write cache" giống hình 2 nhưng trong tình huống quá trình write cache diễn ra chậm chưa thực hiện được bước "set db" thôi chứ ạ ?
@locle1612 жыл бұрын
Anh làm thêm redis stack anh ơi.
@anonystick2 жыл бұрын
Có mà...
@PhongNguyen-mc6un Жыл бұрын
Video của anh rất thực tế. Em chỉ thắc mắc một chỗ trong mô hình mà a suggest, tại sao ta không set lại cache sau khi đã set db mà đợi đến bước thứ 4 để làm điều đó, cảm ơn anh!
@phuo9516 Жыл бұрын
tôi nghĩ là nó nhanh, thời gian nó read nhanh hơn thời gian mà cache nó update, mỗi lần read, update nên check xem cache đã là mới nhất hay chưa, chứ nếu update luôn sang cache thì cần gì phải check xem cache đã là mới nhất chưa (quan điểm cá nhân)
@leducthinh4429 Жыл бұрын
Em cảm ơn anh vì những kiến thức này ạ. Không biết em có thể tham gia nhóm discord của mình được không ạ. Nếu có thì anh có thể cho em xin link để tham gia được không ạ
@anonystick Жыл бұрын
Link tag giới thiệu đó em. Tks em!
@alexmccarthy88549 ай бұрын
Em chào anh. A ơi, theo như em hiểu thì video này đang giải quyết cho TH W/R đồng thời. Vậy TH W/W đồng thời ở phút 12 của video thì giải quyết ntn ạ. Em cám ơn anh. Chúc a và gđ năm mới sức khỏe và thành công.
@nguyenhao45844 ай бұрын
Việc update dữ liệu bắt buộc phải xóa rồi thêm mới vào hả anh. Em thấy ví dụ muốn update quantity của 1 product thì get dữ liệu nó về , rồi set quantity .Rồi đẩy lên redis luôn ạ, không có bước xóa nên không thể misscache đc ạ
@ucgiangnguyen8009 Жыл бұрын
lúc nào cũng vì 1 nguyên nhận nào đó mạng chậm @@ ví dụ 7 bước thì 7! trường hợp do mạng chậm ạ =(((
@SơnGC98Nam Жыл бұрын
anh ơi em đọc bố gì bảo 'trời hôm nay đẹp quá' xong mới chết
@cuongnguyenxuan1246 Жыл бұрын
giai thich dai dong
@duyhoangta7988 Жыл бұрын
Cám ơn video của a đã đưa ra kiến trúc tối ưu nhất cho việc sử dụng redis, db, message brocker. Chỗ sử dụng rabbitMQ đồng bộ data từ db vào redis em tìm cũng ít thông tin, và implement nó có vẻ cũng phức tạp. Cần add trigger vào save của những thằng mình muốn cache à a?
@baudeejay85926 ай бұрын
Hình cuối hơi sai sai anh ơi chỗ này như mô hình thì đâu cần RabbitMQ ??
@scofieldmichael54812 жыл бұрын
Anh làm thêm về RabbitMQ đi ạ
@anonystick2 жыл бұрын
Ok bạn. Chờ vài video hén
@NguyenTrung-yn8tr Жыл бұрын
Ở sơ đồ cuối cùng ấy anh, cần gì phải để RabbitQP ở đó nhỉ, sau khi lưu vào DB xong thì update lại cached luôn ạ ? Ngoài ra nếu để nhất quán dữ liệu nhất có thể giữa Redis và Mysql thì e có thêm phương án là: Ngay ở bước đầu tiên, chúng ta sử dụng lock. Cr7 hoặc M10, ai thực hiện việc write trước thì sẽ tạo ra cặp key value như sau: lock_product_01: true Rồi sau đó mới bắt đầu việc update database và update lại Redis và xong thì xoá key trên Thằng đến sau thì check xem đã tồn tại key lock_product_01 hay chưa, nếu có rồi thì đợi (dùng message broker), còn chưa có thì xử lý việc update database & Redis anh cho ý kiến ạ
@hoangminh1700 Жыл бұрын
nếu như lock lại thì trong trường hợp mạng kém, sẽ làm treo hệ thống!
@KienNguyen-mo3we Жыл бұрын
hay quá
@hungnguyenviet34942 жыл бұрын
Anh ơi, anh có thể giải thích giúp em cơ chế Redis loại bỏ đi các dữ liệu đã đạt tới thời gian hết hạn không ạ ?
@anonystick2 жыл бұрын
Ok em
@bluewhale.0683 ай бұрын
đợt nào e thấy kênh mình có video về redis phần chat follow hay gì ấy, giờ em tìm lại ko thấy:(, ai thấy cho em xin link với ạ
@MrTuyen-um6lf2 жыл бұрын
Qúa đẳng cấp, cảm ơn tiền bối.
@anonystick2 жыл бұрын
Tks bro
@self_motivation_official2 жыл бұрын
thank a nhiều
@lequinhat2 жыл бұрын
Hi anh, trong video anh có nói delete cache thì tốt hơn set cache ghi đè lên, cho em hỏi tại sao lại tốt hơn ạ? Thanks anh.
@anonystick2 жыл бұрын
set cache là một hoạt động tiêu tốn thời gian nhiều hơn là delete. Thử hình dung tính toán phức tạp về số...
@NguyenTuan-pu7ye Жыл бұрын
Đối với đồ án tốt nghiệp ở đại học của em thì em nên tích hợp redis này kh ạ. Em cảm ơn a
@anonystick Жыл бұрын
Luôn đi em... CHo thầy ngỡ ngàng..
@hoaidang76182 жыл бұрын
rat bo ich, mong a them phan code thuc hanh cho newbie nhu bon e hieu them a
@ducvuong7719 Жыл бұрын
anh cho em hỏi người mới học back end thì học từ playlist nào vậy ạ em cảm ơn anh nhiều
@anonystick Жыл бұрын
Đây em. Chúc em vui vẻ... kzbin.info/aero/PLw0w5s5b9NK4ucXizOF-eKAXKvn9ruCw8
@ducvuong7719 Жыл бұрын
@@anonystick a ơi em mới học c c++ python cấu trúc giữ liệu giải thuật trên trường điểm tương đối cao với cả em tự học css với html và 1 chút js cơ bản thì có nên học node js luôn ko a hay là học thêm cái gì trc ạ
@khoiphan23414 ай бұрын
cho e hỏi mình chỗ dùng rabbit mq database đã update CR7 rồi là từ db trigger qua rabbit mq để cập nhật lại cache hả anh? Hay là mình dùng backend call qua rabbit mq để cập nhật lại cache ạ?
@xomreviews Жыл бұрын
Like
@thanhtruyennguyen23455 ай бұрын
Cache của user nào thì user đó set chứ sao lại user này set cache của user khác nhỉ?
@baole26912 жыл бұрын
u la troi .a ra toan clip hay ko
@anonystick2 жыл бұрын
U là trời là phú yên à?
@baole26912 жыл бұрын
@@anonystick da ko SG a :))) u la trời
@anonystick2 жыл бұрын
@@baole2691 so cute :)
@Huydev2 жыл бұрын
Em thấy nhiều video của anh hay nhưng title nhiều cái video nó không hợp lí lắm nên khó tiếp cận lắm anh.
@anonystick2 жыл бұрын
Nghĩa là title khó hiểu à em? Để anh khắc phục
@manhvuong29132 жыл бұрын
Hi anh, anh đang dùng theme gì của vscode vậy ạ? em cám ơn
@anonystick2 жыл бұрын
Cobalt2 nha em
@manhbui3895 Жыл бұрын
anh ơi cụ thể con RabbitMQ kia chi tiết như nào ạ
@attranthanh4824 Жыл бұрын
Anh cho em hỏi thêm với ạ giả sử như shoppe họ cache sản phẩm như thế nào ạ? Vì thực tế số lượng sản phẩm rất lớn nếu cache toàn bộ sản phẩm trên redis và thực hiện lấy sản phẩm kèm filter, order trên code thì tốc độ em nghĩ rất chậm
@thinhnguyenvan70032 жыл бұрын
Tất nhiên rồi. Cache là in ram memory
@ryugaryuzaki272810 ай бұрын
A ơi, cho tôi hỏi heathcheck tôi dùng Redis để check Ck được không
@memeomeo142 жыл бұрын
A cho e hỏi một tí như a bảo là tối ưu nhất là set db trước rồi mới update cache như vậy thì mỗi lần thao tác mình lại xuống db query dẫn đền làm mất hết tác dụng của cache là làm cho thao tác của mình nhanh hơn, e nghĩ vậy, thanks a đã đọc câu hỏi của một đứa fresher như a ạ 🙇
2 жыл бұрын
vẫn query trên cache chứ bạn
@vandiennguyen97192 жыл бұрын
Làm như này thì cũng chỉ chậm ở lần đầu tiên request, ở những request sau thì cache vẫn có tác dụng mà và còn đảm bảo được tính nhất quán của data.
@SonNguyen-ws6xw Жыл бұрын
Không phải xuống DB Query bạn ạ. Khi query mình vẫn query ở cache trước, nếu miss cache thì mới query trong db sau đó set lại cache. Trường hợp của anh Tips chỉ ra là khi mình cập nhật db (nghĩa là write) thì sẽ phải cập nhật trong db trước, sau đó xóa cache chứ không phải ngược lại
@toandaopc7 ай бұрын
ở mô hình cuối tại sao lại có rabbitmq ở đó vậy ạ
@anonystick7 ай бұрын
RabbitMQ có nhiệm vụ điều phối, ví dụ 1giây chỉ cho phép 10 thằng làm việc...
@nvtmjfan7 ай бұрын
Db làm cách nào set đc cache vậy a
@anonystick7 ай бұрын
Câu hỏi hay. Chuẩn bị nha em
@manhtiennguyen27882 жыл бұрын
cho em hỏi là các request get list thì mình có nên cache ko ạ. nếu có thì cache kiểu gì ạ
@anonystick2 жыл бұрын
Để cache một list thì nó phải là list không thay đổi. Ví dụ lịch sử mua chứng khoán ngày 01 đến 30. Thì em có cache theo query theo ngày vì lịch sử không có đổi về giao dịch chứng khoán. Còn mà list thay đổi liên tục như new feeds của FB thì em không thể. Or phải dùng cách pull or push.
@manhtiennguyen27882 жыл бұрын
@@anonystick em cảm ơn ạ
@Color-of-lifes Жыл бұрын
không có thực hàng nên sẽ rất khó xác thực lý thuyết này