# In-memory key-value store in C, Go and Python

DevFeed: [In-memory key-value store in C, Go and Python](<https://devfeed.tech/articles/in-memory-key-value-store-in-c-go-and-python-35419.md>)

Original publisher: [Read original article](<https://darkcoding.net/software/in-memory-key-value-store-in-c-go-and-python/>)

Author: Graham King

Published: 2012-03-13T05:00:08Z

Content type: tutorial

Language: en

Sources: [Graham King](<https://devfeed.tech/sources/graham-king.md>)

Topics: [C](<https://devfeed.tech/topics/c.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [Memcached](<https://devfeed.tech/topics/memcached.md>), [Python](<https://devfeed.tech/topics/python.md>), [networking](<https://devfeed.tech/topics/networking.md>), [POSIX](<https://devfeed.tech/topics/posix.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [epoll](<https://devfeed.tech/tags/epoll.md>), [go](<https://devfeed.tech/tags/go.md>), [memcached](<https://devfeed.tech/tags/memcached.md>), [networking](<https://devfeed.tech/tags/networking.md>), [posix](<https://devfeed.tech/tags/posix.md>), [python](<https://devfeed.tech/tags/python.md>), [software](<https://devfeed.tech/tags/software.md>), [tcp](<https://devfeed.tech/tags/tcp.md>)

## AI overview

The article describes implementing an in-memory key-value store in C, Go, and Python using enough of the memcached protocol to test with a client. It compares the implementations and explains networking details including TCP_NODELAY, Nagle's algorithm, delayed acknowledgments, non-blocking sockets, epoll, and futexes.

## Source excerpt

"Coder's paternity leave turns into polyglot key-value store adventure"