zoukankan      html  css  js  c++  java
  • 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.能够支持高并发


    
    
  • 相关阅读:
    xshell使用密钥登陆服务器
    SQLyog使用隧道登陆数据库
    puttygen.exe生成ppk格式密钥
    xshell生成密钥对
    性能测试基础---jmeter函数二次开发
    Python:基础知识(二)
    异常点检测
    Python:numpy.newaxis
    三张图读懂机器学习:基本概念、五大流派与九种常见算法
    机器学习:样本集、验证集(开发集)、测试集
  • 原文地址:https://www.cnblogs.com/komorebi/p/11079210.html
Copyright © 2011-2022 走看看