- Django 2.0 快速建站-6 12-07
- 利用mysql查询缓存 12-07
- TiDB 帮助万达网络科技集团实现高性能高质量的实时 12-07
- 升级安装php7要考虑的3个重要方面 12-07
- 企业实战(1)-实现基于LNMP的电子商务网站 12-07
- Windows下PHP环境搭建——WAMP分享 12-07
- 使用NoSQL数据库必须知道的知识 12-07
- Java互联网架构-缓存爬坑故事如何解决缓存雪崩 12-07
- 你从未听说过的 JavaScript 早期特性 12-07
- 想要突破瓶颈的javascript程序员请仔细阅读— 12-07
Django 2.0 快速建站-6
发布者: superzhang | 发布时间:2017-12-07数据库配置完成,现在开始创建模型(model),在详细学习Django的ORM开发之前,读者只要将模型理解为数据库表以Python类形式表示即可。每一个模型对应一个数据库表,而模型的属性就是数据库表的字段。
在线投票系统需要两个模型:
问卷(Question)和选项(Choice)。Question包含两个字段question_text(问卷内容)和pub_date(问卷时间),同时Question模型包含一个方法was_published_recently()用于判断问卷是不是最近(一天内)才发布的;Choice同样包含两个字段choice_text(选项内容)和votes(选项得分),另外每一个选项都应属于一个问卷。结合以上分析,修改polls/models.py文件完成模型代码如下:
上面模型代码中每一个类就是一个Django模型,它们都继承自django.db.models.Model类,而模型的每一个属性都是Field类的实例。
数据库配置完成后,还需要进
利用mysql查询缓存
发布者: superzhang | 发布时间:2017-12-07MySQL在执行查询语句之前,都会在它的缓冲区中查询是否在相同的查询语句被执行过,如果有,并且执行结果没有过期,那么就直接取查询结果返回给客户端,从而提高了查询效率。
TiDB 帮助万达网络科技集团实现高性能高质量的实时风控平台
发布者: superzhang | 发布时间:2017-12-07作者 | 陈新江 万达网络科技集团大数据中心
万达网络科技集团( http://www.wanda-tech.cn/ )是中国唯一的实业+互联网大型开放型平台公司,拥有飞凡信息、快钱支付、征信、网络信贷、大数据等公司,运用大数据、云计算、人工智能、场景应用等技术为实体产业实现数字化升级,为消费者提供生活圈的全新消费服务。
万达网络科技集团的技术团队,建设和维护着一套实时风控平台。这套实时风控平台,承担着各种关键交易的在线风控数据的写入和查询服务。实时风控平台后端的数据库系统在高性能,可靠性,可扩展性上有很高的要求,并且需要满足如下核心功能和业务要求:
风控相关业务数据实时入库
实时风控规则计算
通过 BI 工具分析风控历史数据
ETL 入库到 Hadoop 数据仓库
应用开发侧需要兼容 MySQL,降低应用改造门槛
为实现上述业务目标,万达网络科技集团的技术团队在实时风控数据库选型的早期阶段,首先选择了 MySQL Galera Cluster 作为数据库集群的技术架构。这套 MySQL 数据库架构通过不同于 MySQL 主流复制技术的复制机制,实现在多个 MySQL 节点间建立强同步关系,实现数据的副本和高可用。但经过业务实践,发现这套方案有诸多问题,其中比较突出的有以下几点:<
升级安装php7要考虑的3个重要方面
发布者: superzhang | 发布时间:2017-12-07php7从推出到现在,
前两天官方已经发布到7.2版本,
把自己升级和安装php7中遇到的问题和解决方法做一个笔记,
内容主要包括:
1) mysql
2) php
3) nginx
4) memcache扩展
5) redis扩展
由于内容很长,
会分为多篇文章来讲述,
当然你可能遇到比我更多的问题需要解决,
因为我们服务器环境不一样。
php7
升级安装php7要考虑的几个方面
1) 性能提升
这一点无需质疑,
php7的性能比之前的版本,
性能至少提升一倍,
php7核心开发人员鸟哥也明确的说到这一点。
有人给鸟哥留言说,
升级到php7后,
公司节省了30台服务器。
还有人说升级到php7后,
一年的KPI指标就已经完成
企业实战(1)-实现基于LNMP的电子商务网站
发布者: superzhang | 发布时间:2017-12-07企业实战:逐步实现企业各种情景下的需求
企业情景一:
实现基于LNMP的小米电子商务网站平台,近年来为适应业务发展的需求,世界500强XX企业准备进行大规模的电子商务建设,同时,希望能通过Linux平台,利用开源技术,来实现大型互联网电子商务网站架构建设和业务支撑,可提供1000人同时访问,公司为此准备了充分调研和技术选型。现要求成立运维
对整个运维部门进行部署和规划。当你接到该项目时,你会怎么做呢?
项目一:实现基于LNMP的电子商务网站
一、环境准备:centos7.3系统、yum源
二、安装步骤:
1.yum方式安装mariadb 、mariadb-server 、php-mysql 、nginx 、php-fpm
yum install php-fpm mariadb-server php-mysql nginx
2.下载小米商城源码,解压缩到/data/web 目录,修改权限为nobody
mkdir -p /data/web
cd /data/web/
unzip xiaomi.zip
chown nobody.nobody . -R
三、修改配置文件:
1 .修改nginx 配置,把n
Windows下PHP环境搭建——WAMP分享
发布者: superzhang | 发布时间:2017-12-07学习一门语言,就得从搭建开发环境开始。PHP学习者时常会接触到一个词WAMP,那么WAMP是什么意思呢?Windows系统下的Apache+Mysql+PHP,称为WAMP;如果是Linux系统下的Apache+Mysql+PHP,称为LAMP。
华软教育今天为初学者分享的开发环境是基于Windows系统下搭建的。
WAMP还可以分为以下三大类:
1、php集成环境(集成了所有的必须的组件,安装完集成环境,就可以直接运行网站,虽然不需要分开独立安装各组件,但还是需要额外安装VC运行库)
2、php独立安装版环境(自行独立安装各个组件,操作比较繁琐,需要浪费一定的时间,有利于提高自己的配置能力,对于新手来说卸载也比较麻烦。)
3、php绿色集成环境(相对而言是绿色的php集成环境,自身集成VC运行库,不需要安装VC,解压后可直接使用,不使用时关闭服务即可,不会滞留在系统里面。)
今天所分享的WAMP需要额外安装VC运行库的WampServer。另外WAMP需要根据操作系统类型是32位还是64位区分,所以在下载之前请先确认自己电脑的操作系统。
首先来看下需要下载的工具:
VC11支持(vcredist_x86\x64)
WampServer2.5(Apache-2.4
使用NoSQL数据库必须知道的知识
发布者: superzhang | 发布时间:2017-12-07经过前一阵子的学习,有同学在问,传统的RDBMS程序员或架构师需要知道如何在NoSQL(非关系型的数据库)和DCP(数据缓存平台)方面具有技术主导力,通过这个问题。其它的就不多说了。我们先来做一个初步的了解吧!
什么是NoSQL?
NoSQL是“Not Only SQL”的缩写,即指的是非关系型数据库。也就是告诉我们,适合用关系型数据库的时候使用关系数据库,不适合使用关系型数据库的时候没有必要使用关系型数据库,可以选用更适合的数据库。这时候,为了弥补关系型数据库的不足,各种各样的NoSQL数据库就应运而生了。
开发遇到的问题:
1.高并发读写
Web2.0网站,数据库并发负载非常高,往往达到每秒上万次的读写请求,对于传统的mysql 和oracle来讲每秒上万次的查询还是可以勉强应对,但是对于读写量来讲恐怕还是凶多吉少哦。
2.高容量存储和高效存储
Web2.0网站通常需要在后台数据库中存储海量数据,如何存储海量数据并进行高效的查
Java互联网架构-缓存爬坑故事如何解决缓存雪崩
发布者: superzhang | 发布时间:2017-12-07概述
缓存穿透
什么是缓存穿透?
一般的缓存系统,都是按照key去缓存查询,如果不存在对应的value,就应该去后端系统查找(比如DB)。如果key对应的value是一定不存在的,并且对该key并发请求量很大,就会对后端系统造成很大的压力。这就叫做缓存穿透。
如何避免?
1:对查询结果为空的情况也进行缓存,缓存时间设置短一点,或者该key对应的数据insert了之后清理缓存。
2:对一定不存在的key进行过滤。可以把所有的可能存在的key放到一个大的Bitmap中,查询时通过该bitmap过滤。【感觉应该用的不多吧】
缓存雪崩
什么是缓存雪崩?
当缓存服务器重启或者大量缓存集中在某一个时间段失效,这样在失效的时候,也会给后端系统(比如DB)带来很大压力。
如何避免?
1:在缓存失效后,通过加锁或者队列来控制读数据库写缓存的线程数量。比如对某个key只允许一个线程查询数据和写缓存,其他线程等待。
2:不同的key,设置不同的过期时间,让缓存失效的时间点尽量均匀。
3:做二级缓存,A1为原始缓存,A2为拷贝缓存,A1失效时,可以访问A2,A1缓存失效时间设置为短期,A2设置为长期(此点为补充)
分布式缓存系统
你从未听说过的 JavaScript 早期特性
发布者: superzhang | 发布时间:2017-12-07最近这些年在对 JavaScript 进行考古时,发现网景时代的 JavaScipt 实现,存在一些鲜为人知的特性,我从中挑选几个有趣的说一下。
Object.prototype.eval() 方法
在 JavaScript 1.0 中,eval 和现在一样,只是个全局函数。在 JavaScript 1.1 中,eval 还变成了所有对象的一个共用方法:
官方文档描述这个 eval 方法是说它能让一段代码字符串在执行时以当前对象为上下文:
Theevalmethod evaluates a string of JavaScript code in the context of the specified object
描述很笼统,其实这个 eval 方法和普通的 eval 函数的区别有两点:
1. this 指向当前对象而不是全局对象
2. 类似 with 语句的作用,所有变量优先作为当前对象的属性去查找
想要突破瓶颈的javascript程序员请仔细阅读——凝神静气突破瓶颈
发布者: superzhang | 发布时间:2017-12-07javascript模式
学javascript最容易出现的就是学着学着突然懵逼了,脑子一团糟,函数,数组,字符串,对象,数字,布尔值,正则表达式,一堆属性和方法,各种形形色色问题,各种百度,各种学习网站,各种案例示例,买了一堆书却没看过一本,即使看也是翻翻而已充其量是个工具书。然后就有种一肚子想法却说不所以然来,一肚子编码构思,却敲不出一个字母。js编程之路开始迷茫,于是乎就有了放弃的念头。我也是从这个阶段过来的也成一度想放弃,甚至于面试时被对方嘲讽。
以上问题其实都是因为浮躁,没能静下心来系统的学习每一个知识点,没能深入理解JavaScript的原理,如果你对他一片痴心他绝对不负你。读懂一本书足以中文翻译版《javascript模式》,我感觉以前所学的所迷茫的所迷惑不解的都能在这本书里找到答案,这本书也是我唯一一本认真读过三遍的书,希望能给那些想放弃的伙伴一些帮助。另有电子版可以留言索取。谢谢关注!
