gomemcache
Memcached
Our great sponsors
gomemcache | Memcached | |
---|---|---|
4 | 55 | |
1,692 | 13,178 | |
- | 1.0% | |
5.0 | 8.5 | |
17 days ago | 7 days ago | |
Go | C | |
Apache License 2.0 | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gomemcache
- Memcached protocol
-
Caching in Golang using Memcached
The library I will be using in this article as a Memcached client is gomemcache as it is quite simple to configure and use.
-
Go Package for better integration tests: github.com/ory/dockertest
In cases where there's no de-facto package used for mocking calls, we could define our own interface type that happens to be defining the concrete calls we use in your code, for example if we are planning to mock memcached calls and github.com/bradfitz/gomemcache it's being used, then something like the following could work:
-
Building Microservices in Go: Caching using memcached
Understanding the nuances behind when and how to use caching is important when building microservices, in this post I will discuss general concepts about caching, some concrete details about memcached and I will cover the de-facto package for using memcached in Go: github.com/bradfitz/gomemcache.
Memcached
- Redis Re-Implemented with SQLite
-
Best engineering interview question I've gotten
> Multiple clients racing can't be fixed.
Really? You can't think of a single way for multiple clients to operate on the same data without racing? (Here's a hint if you're still having trouble: https://github.com/memcached/memcached/wiki/Commands#cas.)
- Memcached 1.6.25 Release Notes
- Memcached 1.6.24 Release Notes
-
How to choose the right type of database
Memcached: A simple, open-source, distributed memory object caching system primarily used for caching strings. Best suited for lightweight, non-persistent caching needs.
-
Sieve is simpler than LRU
Oh, thank you! I didn't realize that LRU Maintainer Thread was more than an expiration reaper. When it was first being introduced that was its first responsibility as lazy expiration removal by size eviction meant dead entries wasted capacity. It was all work in progress when I had read about it [1] and talked to dormando, so it got fuzzy. The compat code [2, 3] might have also thrown me off if I only looked at the setting and not the usage. Its a neat variant to all of these ideas.
[1] https://github.com/memcached/memcached/pull/97
-
A Developer's Journal: Simplifying the Twelve-Factor App
stores session state in a session store like Memcached or Redis.
-
In-memory database Redis wants to dabble in disk
memcached has recently gained the ability to spill to disk: https://github.com/memcached/memcached/wiki/Extstore
we recently implemented this to grow our caches to >50TB
-
Django Caching 101: Understanding the Basics and Beyond
Django supports using Memcached as a cache backend. Memcached is a high-performance, distributed memory caching system that can be used to store cached data across multiple servers.
-
Node.js server-side authentication: Tokens vs. JWT
In server-side authentication, the session state is stored on the server-side, which can be scaled horizontally across multiple servers using tools like Redis or Memcached.
What are some alternatives?
Redis - Redis Go client
Varnish - The project homepage
aerospike-client-go - Aerospike Client Go
node-cache - A simple in-memory cache for nodejs
Kivik - Common interface to CouchDB or CouchDB-like databases for Go and GopherJS
dragonfly - A modern replacement for Redis and Memcached
godis - redis client implement by golang, inspired by jedis.
node-cache - a node internal (in-memory) caching module
dynago - A DynamoDB client for Go
KeyDB - A Multithreaded Fork of Redis
mongo-go-driver - The Official Golang driver for MongoDB
Redis - Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes, Streams, HyperLogLogs, Bitmaps.