memcached framework

This commit is contained in:
jysperm
2014-07-19 05:08:09 +08:00
parent 544e036217
commit 5c53329a42
11 changed files with 94 additions and 7 deletions

16
plugin/memcached/API.md Normal file
View File

@@ -0,0 +1,16 @@
## Memcached Plugin API
### POST /plugin/memcached/switch
Request:
{
"enable": true
}
No Response.
Exception:
* not_in_service
* invalid_enable

View File

@@ -0,0 +1,3 @@
## Memcached
apt-get install memcached

View File

@@ -0,0 +1,21 @@
child_process = require 'child_process'
service = require './service'
{assertInService} = require '../../core/router/middleware'
mAccount = require '../../core/model/account'
module.exports = exports = express.Router()
exports.use assertInService 'memcached'
exports.post '/switch', (req, res) ->
unless req.body.enable in [true, false]
return res.error 'invalid_enable'
mAccount.update _id: req.account._id,
$set:
'attribute.plugin.memcached.is_enable': req.body.enable
, ->
service.switch req.account, req.body.enable, ->
res.json {}

View File

@@ -0,0 +1,11 @@
action = require './action'
service = require './service'
module.exports =
name: 'memcached'
type: 'service'
action: action
service: service
switch: true

View File

@@ -0,0 +1,4 @@
{
"name": "Memcached",
"description": "Memcached 提供了基于内存的高速缓存"
}

View File

@@ -0,0 +1,30 @@
child_process = require 'child_process'
jade = require 'jade'
path = require 'path'
tmp = require 'tmp'
fs = require 'fs'
plugin = require '../../core/plugin'
mAccount = require '../../core/model/account'
module.exports =
enable: (account, callback) ->
mAccount.update _id: account._id,
$set:
'attribute.plugin.memcached.is_enable': false
, ->
callback()
delete: (account, callback) ->
if account.attribute.plugin.memcached.is_enable
this.switch account, false, callback
else
callback()
switch: (account, is_enable, callback) ->
callback()
preview: (callback) ->
jade.renderFile path.join(__dirname, 'view/preview.jade'), {}, (err, html) ->
callback html

View File

@@ -0,0 +1,2 @@
header Memcached
p Memcached 提供了基于内存的高速缓存。