local M = {} local localstorage = require("localstorage") local fw = require("fastweb") local cjson = require("cjson") M.start = function(dirpath) local storage = localstorage.new() fw.set_ptr("localstorage_cache",storage:self()) if storage:open(dirpath) == false then return false,storage:last_error() end return true end M.close = function() localstorage.new(localstorage_cache):close() end M.get = function(key) return localstorage.new(localstorage_cache):read(key) end M.get_json = function(key) local value = M.get(key) if value then return cjson.decode(value) end return nil end M.set = function(key,value) localstorage.new(localstorage_cache):write(key,value) end M.set_json = function(key,value) M.set(key,cjson.encode(value)) end M.del = function(key) localstorage.new(localstorage_cache):del(key) end return M