Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dustin/gomemcached
A memcached binary protocol toolkit for go.
https://github.com/dustin/gomemcached
Last synced: 2 days ago
JSON representation
A memcached binary protocol toolkit for go.
- Host: GitHub
- URL: https://github.com/dustin/gomemcached
- Owner: dustin
- License: mit
- Created: 2009-11-12T08:10:17.000Z (about 15 years ago)
- Default Branch: master
- Last Pushed: 2019-08-30T03:47:21.000Z (over 5 years ago)
- Last Synced: 2024-10-11T14:15:22.888Z (2 months ago)
- Language: Go
- Homepage: http://dustin.github.com/2009/11/12/gomemcached.html
- Size: 276 KB
- Stars: 316
- Watchers: 25
- Forks: 68
- Open Issues: 4
-
Metadata Files:
- Readme: README.markdown
- License: LICENSE
Awesome Lists containing this project
README
# gomemcached
This is a memcached binary protocol toolkit in [go][go].
It provides client and server functionality as well as a little sample
server showing how I might make a server if I valued purity over
performance.## Server Design
The basic design can be seen in [gocache]. A [storage
server][storage] is run as a goroutine that receives a `MCRequest` on
a channel, and then issues an `MCResponse` to a channel contained
within the request.Each connection is a separate goroutine, of course, and is responsible
for all IO for that connection until the connection drops or the
`dataServer` decides it's stupid and sends a fatal response back over
the channel.There is currently no work at all in making the thing perform (there
are specific areas I know need work). This is just my attempt to
learn the language somewhat.[go]: http://golang.org/
[gocache]: ../master/gocache/gocache.go
[storage]: ../master/gocache/mc_storage.go