HTML5WebSQLDatabase与localStorage用途?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTML5WebSQLDatabase与localStorage用途?相关的知识,希望对你有一定的参考价值。
localStorage.setTime()是把值存在本地,可以实现页面之间传值localStorage.getTime()把值从本地取出来
WebSQLDatabase是存一个数据表在本地,连上网以后再发送到数据库! 参考技术A LocalStorage是KV,WebSQL是SQL系了,这两点就有很大区别。虽然应用场景在浏览器这里做本地数据存储,但是思路还是一样的。
Local与LocalStack
示例
#flask源码中Local对象 import functools try: from greenlet import getcurrent as get_ident except: from threading import get_ident #作用:为每个线程开辟空间 class Local(object): __slots__ = (‘__storage__‘, ‘__ident_func__‘) def __init__(self): # __storage__ = {1231:{‘stack‘:[]}} object.__setattr__(self, ‘__storage__‘, {}) object.__setattr__(self, ‘__ident_func__‘, get_ident) def __getattr__(self, name): try: return self.__storage__[self.__ident_func__()][name] except KeyError: raise AttributeError(name) def __setattr__(self, name, value): # name=stack # value=[] ident = self.__ident_func__() storage = self.__storage__ try: storage[ident][name] = value except KeyError: storage[ident] = {name: value} def __delattr__(self, name): try: del self.__storage__[self.__ident_func__()][name] except KeyError: raise AttributeError(name) """ __storage__ = { 12312: {stack:[ctx(session/request) ,]} } """ # obj = Local() # obj.stack = [] # obj.stack.append(‘佳俊‘) # obj.stack.append(‘咸鱼‘) # print(obj.stack) # print(obj.stack.pop()) # print(obj.stack) #作用:方便我们把Local中的列表维护成栈 class LocalStack(object): def __init__(self): self._local = Local() def push(self,value): rv = getattr(self._local, ‘stack‘, None) # self._local.stack =>local.getattr if rv is None: self._local.stack = rv = [] # self._local.stack =>local.setattr rv.append(value) # self._local.stack.append(666) return rv def pop(self): """Removes the topmost item from the stack, will return the old value or `None` if the stack was already empty. """ stack = getattr(self._local, ‘stack‘, None) if stack is None: return None elif len(stack) == 1: return stack[-1] else: return stack.pop() def top(self): try: return self._local.stack[-1] except (AttributeError, IndexError): return None xxx = LocalStack() xxx.push(‘佳俊‘) xxx.push(‘咸鱼‘) #以上综合应用 class RequestContext(object): def __init__(self): self.request = "xx" self.session = ‘oo‘ _request_ctx_stack = LocalStack() _request_ctx_stack.push(RequestContext()) def _lookup_req_object(arg): ctx = _request_ctx_stack.top() return getattr(ctx,arg) # ctx.request / ctx.session request = functools.partial(_lookup_req_object,‘request‘) session = functools.partial(_lookup_req_object,‘session‘) print(request()) print(session()) ‘‘‘ xx oo ‘‘‘
以上是关于HTML5WebSQLDatabase与localStorage用途?的主要内容,如果未能解决你的问题,请参考以下文章
window.localStorage 与 chrome.storage.local
简说 SSH 隧道-- Local 与 Remote 端口转发