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