https://github.com/dustin/gomemcached
A memcached binary protocol toolkit for go.
https://github.com/dustin/gomemcached
Last synced: about 2 months 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 (over 15 years ago)
- Default Branch: master
- Last Pushed: 2019-08-30T03:47:21.000Z (almost 6 years ago)
- Last Synced: 2025-04-19T16:19:56.339Z (2 months ago)
- Language: Go
- Homepage: http://dustin.github.com/2009/11/12/gomemcached.html
- Size: 276 KB
- Stars: 316
- Watchers: 24
- 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