zoukankan      html  css  js  c++  java
  • 一些重要的知识点-数据库优化-angularjs--JSON-fastDFS

    1.
    数据库, 因为将数据持久化到硬盘上, 所以查询数据是从硬盘中读取
    所以数据库查询的速度快慢与磁盘的IO效率也有很大关系
    硬盘分类:
    机械硬盘:
    5400转
    7200转
    12000转 单块硬盘最快读取速度500多M每秒写入速度最快300多M每秒
    固态硬盘:
    比较贵, 不使用

    2. 数据库优化:
    1. sql优化: 优化编写的sql语句让, sql语句执行速度更快
    2. 表结构优化:
    设计方案:
    横切(表的水平切分):
    使用场景: 表的数据量过大, 在mysql中如果单表超过500万条数据可以考虑表的水平切分
    因为mysql单表500万条以上, 在查询的时候会造成命中率降低, 成指数级降低.
    将一张表水平拆分成多张表, 多张表, 字段都是一样的, 但是存储的数据不一样.
    纵切(表的垂直切分):
    使用场景: 单表字段过多, 造成查询的时候, 查询的数据量过大, 可以进行表的纵切,
    将一张表拆分成多张表, 每张表都是一对一的关系, 多张表存储的字段不一样,
    数据也不一样.
    3. 数据库集群方案优化:

    3.前端内容:
    <select class="form-control" ng-model="entity.goods.category1Id" ng-options="item.id as item.name for item in itemCat1List">
    </select>
    下拉列表:
    ng-model绑定指令: 将下拉菜单的选中的数据绑定到$scope域中的变量中
    ng-options: 遍历集合数据, 用来显示下拉菜单
    遍历出来的对象变量的id作为key as 遍历出来的对象变量的名称作为value for 遍历出来的对象变量 in 集合名称


    $watch是angularjs中的内置对象, 作用是监听器, 监听对象中的值的变化
    $scope.$watch("entity.goods.category1Id",function(newValue,oldValue){
    第一个参数是监听的对象, newvalue是下拉菜单选中后的值, oldValue是下拉菜单以前的值

    4. json转换:
    java中只有json格式字符串, java中不存在json类型
    json集合或者叫json数组, 最外层是方括号:
    [{"id":27,"text":"网络"},{"id":32,"text":"机身内存"}]
    单个json, 最外层是大括号:
    {"id":27,"text":"网络"}
    阿里公司的json转换工具, 可以将json格式字符串转换成对应的Java对象:
    JSON.parseObject()方法是将json格式字符串转换成单个对象
    JSON.parseArray(, );方法是将json格式字符串转换为集合对象


    5.
    什么是fastDFS
    fastDFS是一个开源免费的分布式文件系统, 底层使用C语言编写.
    作用:
    用来保存大量的文件, 支持分布式, 支持高可用, 支持高扩展性, 支持高并发, 支持大数据量

    fastDFS运行原理和流程:
    a) fastDFS分为三部分:
    客户端: 我们的品优购项目就是客户端
    storage存储端: 存储端存储具体的文件内容
    tracker管理端: 管理端负责管理存储端的机器的IP和端口以及状态并且分负载均衡的功能
    b) storage存储端启动, 启动后到tracker管理端中注册, 告诉管理端自己的ip地址和端口号以及状态.
    c) 我们如果想要存储文件, 需要先连接tracker管理端, 管理端给我们返回一个存储端的IP地址和端口号,
    我们拿着这个IP和端口进行到storage存储端进行存储, 存储后会返回一个文件路径和文件名.
    并且存储端会对文件名自动重命名, 防止文件重名
    优点:
    a) 存储端一台主机一台备机, 我们平时往主机中存储, 主机会将数据同步到备机, 主机和备机中存储的内容
    一模一样, 这叫做冗余存储起到了容灾的效果.
    b) 主机和备机之间有心跳检测机制, 一旦主机宕机, 被替代主机工作, 有高可用的特性
    c) 主机和备机为一组, 理论上可以无限扩展, 所以理论上存储端集群中存储容量是无限大的, 扩展性好.
    d) 管理端有负载均衡的特性, 会在高并发的时候, 均匀分配请求到每一台存储端服务器上, 所以我们
    的fastDFS有负载均衡特性, 可以承载高并发存储任务.
    缺点:
    结构复杂, 需要的服务器很多, 在实际线上环境中成本比较高.

    积少成多, 积沙成塔.
  • 相关阅读:
    activity 之间传递参数
    手动创建一个Activity,完成页面跳转(intent 无参数)
    C++中汉字字符串的截取
    android基础知识清单。
    更改远程仓库
    设计模式六大原则
    事件订阅代码
    Python Mac ssl.SSLError certificate verify failed (_ssl.c:833)
    Python库中常见的 __all__ 变量是干啥的
    Thrift的使用-Python
  • 原文地址:https://www.cnblogs.com/lei0913/p/10890860.html
Copyright © 2011-2022 走看看