MENU

Fun & Interesting

Memcached Architecture - Crash Course with Docker, Telnet, NodeJS

Hussein Nasser 32,043 lượt xem 2 years ago
Video Not Working? Fix It Now

Memcached is an in memory cache with one major feature be a transient cache. Memcached has a very simple design. It was originally designed to help with database load by storing the query result in memory to avoid further querying the database. By default it has no authentication, a simple text protocols, servers don’t talk to each other. This video discuss the architecture of the cache, design choices and have some critics of the design choices. I go through a demo at the end using docker, telnet and nodes. Enjoy


Fundamentals of Database Engineering udemy course (link redirects to udemy with coupon)
https://database.husseinnasser.com

Download the slides for Memcached course here
https://payhip.com/b/rw14l
(Members get all slides for all my video courses for free)


0:00 Intro
4:40 What is Memcached?
7:45 Memory management
16:00 LRU
25:17 Threading and Connections
30:40 Read Example
34:30 Write Example
36:17 Write and Read collisions
39:40 Locking
40:30 Distributed Cache
43:30 Memcached with Docker/Telnet/NodeJS
45:00 Spin up a Memcached Docker container and telnet
52:17 Memcached and NodeJS
56:15 Four Memached Servers with NodeJS
01:01:00 Summary

Source Code
https://github.com/hnasr/javascript_playground/tree/master/memcached

Resources
https://www.cloudflare.com/learning/ddos/memcached-ddos-attack/
https://holmeshe.me/understanding-memcached-source-code-IV/
https://github.com/memcached/memcached/blob/master/doc/protocol.txt
https://docs.oracle.com/cd/E17952_01/mysql-5.6-en/ha-memcached-using-threads.html
https://holmeshe.me/understanding-memcached-source-code-I/
https://docs.oracle.com/cd/E17952_01/mysql-5.6-en/ha-memcached-using-memory.html
https://support-acquia.force.com/s/article/360005256114-Memcached-in-detail
https://www.alibabacloud.com/blog/redis-vs-memcached-in-memory-data-storage-systems_592091
https://www.usenix.org/system/files/conference/nsdi13/nsdi13-final197.pdf
https://memcached.org/blog/persistent-memory-2/
https://memcached.org/blog/modern-lru/
https://youtu.be/7MLXuG83Fsw



Fundamentals of Networking for Effective Backends udemy course (link redirects to udemy with coupon)
https://network.husseinnasser.com


Introduction to NGINX (link redirects to udemy with coupon)
https://nginx.husseinnasser.com

Python on the Backend (link redirects to udemy with coupon)
https://python.husseinnasser.com

Become a Member on YouTube
https://www.youtube.com/channel/UC_ML5xP23TOWKUcc-oAE_Eg/join

Arabic Software Engineering Channel
https://www.youtube.com/channel/UChWZsjdoRvZ0T9QWZOD6UpA

🔥 Members Only Content
https://www.youtube.com/playlist?list=UUMO_ML5xP23TOWKUcc-oAE_Eg



🏭 Backend Engineering Videos in Order
https://backend.husseinnasser.com

💾 Database Engineering Videos
https://www.youtube.com/playlist?list=PLQnljOFTspQXjD0HOzN7P2tgzu7scWpl2

🎙️Listen to the Backend Engineering Podcast
https://husseinnasser.com/podcast

Gears and tools used on the Channel (affiliates)

🖼️ Slides and Thumbnail Design
Canva
https://partner.canva.com/c/2766475/647168/10068


Stay Awesome,
Hussein

Comment