1
0
mirror of https://github.com/astaxie/beego.git synced 2025-07-13 03:21:01 +00:00
Files
.github
cache
config
context
grace
httplib
logs
migration
orm
plugins
session
swagger
testing
toolbox
utils
validation
vendor
github.com
Knetic
beego
belogik
bradfitz
casbin
cloudflare
couchbase
go-couchbase
gomemcached
client
LICENSE
README.markdown
mc_constants.go
mc_req.go
mc_res.go
tap.go
goutils
cupcake
edsrzf
go-redis
go-sql-driver
gogo
golang
gomodule
lib
mattn
pelletier
pkg
siddontang
ssdb
syndtr
wendal
golang.org
google.golang.org
gopkg.in
vendor.json
.gitignore
.gosimpleignore
.travis.yml
CONTRIBUTING.md
LICENSE
README.md
admin.go
admin_test.go
adminui.go
app.go
beego.go
config.go
config_test.go
controller.go
controller_test.go
doc.go
error.go
error_test.go
filter.go
filter_test.go
flash.go
flash_test.go
hooks.go
log.go
mime.go
namespace.go
namespace_test.go
parser.go
policy.go
router.go
router_test.go
staticfile.go
staticfile_test.go
template.go
template_test.go
templatefunc.go
templatefunc_test.go
tree.go
tree_test.go
unregroute_test.go
Beego/vendor/github.com/couchbase/gomemcached/README.markdown
2018-07-30 12:05:51 +08:00

33 lines
1.1 KiB
Markdown

# 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
<div>
<img src="http://dustin.github.com/images/gomemcached.png"
alt="overview" style="float: right"/>
</div>
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]: gomemcached/blob/master/gocache/gocache.go
[storage]: gomemcached/blob/master/gocache/mc_storage.go