• 48 补充


    引擎
    myisam
    innodb
    blackhole
    memory

    ORM
    优点:
    让一个不懂数据库操作的小白也能够简单快速操作数据库实现相应功能
    缺点:
    sql 固定封转,不利于sql查询



    对象关系映射
    类 >>> 数据库的表
    对象 >>> 表里一条条的记录
    对象获取属性或方法 >>> 记录的字段对应的值


    一张表有字段,字段里有字段名,字段类型,字段是否是主键,字段的默认值


    class Filed(object):
    pass
    class StringFiled(object):
    pass
    class IntegerFiled(object):
    pass


    点属性 或看值
    class Models(dict):
    pass
    def __getattr__(self,item):
    return self.get(item)

    def __setattr__(self,key,value):
    return self[key] = value



    查询
    def select(self,**kwargs):
    select * from db
    select * from db where id = 1

    保存
    def save(self):
    insert into db(name,password) values('qwe','123')


    修改
    def update(self):
    update db set name = 'asd' where id = 3


    hasattr
    getattr
    setattr


    # 元类拦截类的创建过程 使它具备表的特性
    class ModelsMetaClass(type):
    def __new__(cls,class_name,class_bases,class_attrs):
    # 只拦截模型表的创建表
    if class_name = 'Models':
    return type.__new__(cls,class_name,class_bases,class-attre)
    table_name = class_attrs.get('table_name',class_name)
    primary_key = None
    mappings = {}
    k ==>id ,name, v==>对应的值(对象)
    for k,v in class_attrs.items():
    用户表示表的字段
    if isintance(v,Filed):
    mapping[k] = v
    是否有外键
    if v.primary:

    if primary_key:
    raise TypeError('主键重复')
    primary_key = v.name
    多余的删除
    for k in mappigs.keys():
    class_attr.pop(k)
    if not primary_key():
    reise TypeError('必须要有一个主键')

    class_attrs['table_name'] = table_name
    class_attrs['primary_key'] = primary_key
    class_attrs['mappings'] = mappings

    return type.__new__(cls,class_name,class_bases,class_attrs)





    pymysql模块连接数据库
    单例版本
    数据库连接池


    优酷项目架构设计

    注册登录

    框架优化

    cookie,session

    校验登录(服务端必须校验,客户端无所谓)



    服务端
    1.要有固定的ip和port
    2.24小时不间断提供服务
    3.能够支持高并发


    
    
  • 相关阅读:
    滚屏到相应位置才加载图片
    cs文件编译成dll文件
    SPAM搜索引擎垃圾技术
    新HTML元素:Canonical Link(权威链接),解决网络复制内容
    Asp.Net 文件操作基类(读取,删除,批量拷贝,删除,写入,获取文件夹大小,文件属性,遍历目录)
    VS2005发布网站项目时整个站点生成为一个自定义名称的dll文件
    301转向代码合集
    区别不同浏览器,CSS hack写法
    教你识别交换购买友情链接里的八种骗局真相!
    C#中Cookies的存取
  • 原文地址:https://www.cnblogs.com/komorebi/p/11079210.html
Copyright © 2020-2023  润新知