首 页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 尾 页

MySQL Cluster 与 MongoDB 复制及分片设计及原理

发布者: PHPYuan | 发布时间:2018-09-21

分布式数据库计算涉及到分布式事务、数据分布、数据收敛计算等等要求

分布式数据库能实现高安全、高性能、高可用等特征,当然也带来了高成本(固定成本及运营成本),我们通过MongoDB及MySQL Cluster从实现上来分析其中的设计思路,用以抽象我们在设计数据库时,可以引用的部分设计方法,应用于我们的生产系统

首先说说关系及非关系数据库的特征

MySQL的Innodb及Cluster拥有完整的ACID属性

A 原子性 整个事务将作为一个整体,要么完成,要么回滚

C 一致性 事务开始之前和事务结束以后,数据库的完整性限制没有被破坏

I 隔离性 两个事务的执行是互不干扰的,两个事务时间不会互相影响

D 持久性 在事务完成以后,该事务对数据库所作的更改便持久地保存在数据库之中,并且是完全的

为了实现ACID,引入了诸如Undo、Redo、MVCC、TAS、信号、两阶段封锁、两阶段提交、封锁等实现,引入了数据存取路径,整个事情变得将极其复杂

MySQL遵循SQL标准、使用SQL标准的情况下,可以做到RDBMS之间的无缝迁移

其丰富的数据类型、完整的业务逻辑控制及表达能力一直作为商业应用的首选

MongoDB使用集合表示数据,不拥有ACID属性,但其无类型、

想读更多 ->

程序员不小心删库是一种怎样的体验?网友:还体验,赶快跑路啊!

发布者: PHPYuan | 发布时间:2018-09-21

MySql从删库到跑路,虽然这是一句玩笑话,但是要是你真的照着这上面的去做,那我也只能祝你好运了。如果被抓住了,再送你一句say good bye!

程序员不小心删库是一种怎样的体验?网友:还体验,赶快跑路啊!

程序员不小心删库是一种怎样的体验?网友:还体验,赶快跑路啊!

而最近还真发生了这么一件误删数据库的事情,sf一程序员在工作中不小心误删了公司的数据库,从而导致公司系统瘫痪长达590分钟。而该程序员虽然没跑路,但也被安排处理掉了!程序员一个这么严谨的职业居然做的这么马虎,也是服气!

分享文章前,小编先分享一下自己的编程干货有想学习web前端的小伙

想读更多 ->

Nginx负载均衡配置实例详解

发布者: PHPYuan | 发布时间:2018-09-21

负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦。

负载均衡

先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可以解释N台服务器平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。那么负载均衡的前提就是要有多台服务器才能实现,也就是两台以上即可。

测试环境

由于没有服务器,所以本次测试直接host指定域名,然后在VMware里安装了三台CentOS。

测试域名 :a.com

A服务器IP :192.168.5.149 (主)

B服务器IP :192.168.5.27

C服务器IP :192.168.5.126

部署思路

A服务器做为主服务器,域名直接解析到A服务器(192.168.5.149)上,由A服务器负载均衡到B服务器(192.168.5.27)与C服务器(192.168.5.126)上。

域名解析

由于不是真实环境,域名就随便使用一个a.com用作测试,所以a.com的解析只能在hosts文件设置。

打开:C:WindowsSystem32driversetchosts

在末尾添加

192.

想读更多 ->

NGINX实现UDP 负载均衡

发布者: PHPYuan | 发布时间:2018-09-21

安装Nginx并启用模块

ngx_stream_core_module这个模块并不会默认启用,需要在编译时通过指定--with-stream参数来激活这个模块。

具体配置文件:

worker_processes auto; error_log /var/log/nginx_error.log info; events { worker_connections 1024; } stream { upstream dns { server 192.168.0.1:53; server dns.example.com:53; } server { listen 127.0.0.1:53 udp; proxy_responses 1; proxy_timeout 20s; proxy_pass dns; } }

想读更多 ->

HTM5培训之shell脚本定时统计Nginx下access.logdPV发送给API保存数据库

发布者: PHPYuan | 发布时间:2018-09-21

HTM5培训之shell脚本定时统计Nginx下access.logdPV发送给API保存数据库

今天扣丁学堂HTML5培训老师给大家介绍一下关于shell脚本定时统计Nginx下access.log的PV并发送给API保存到数据库的实现方法详解,希望对学习HTML5开发的同学有所帮助,下面我们一起来看一下吧。

HTM5培训之shell脚本定时统计Nginx下access.logdPV发送给API保存数据库

1、统计PV和IP

统计当天的PV(PageView)

cat access.log | sed -n /`date "+%d\/%b\/%Y"`/p |wc -l

统计某一天的PV

cat access.log | sed -n '/20\/Sep\/2018/p' | wc

想读更多 ->

Linux搭建PHP7.0套餐

发布者: PHPYuan | 发布时间:2018-09-21

以下的服务安装都在阿里云的CentOS6.8的64位镜像环境下验证可用的。

只要直接ssh登录到服务器,按部就班执行命令即可。

Nginx

#安装yum -y install nginx

#启动服务

service nginx start

PHP7.0

#更新yum源

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm

rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm

#安装

yum install -y php70w php70w-fpm

#启动php-fpm

service php-fpm start

# 安装PHP扩展

yum -y install php70w-common php70w-fpm php70w-gd php70w-mysql php70w-mbstring php70w-pdo php70w-pecl-memcached php70w-pecl-redis

MYSQL

一、安装及配置<

想读更多 ->

最新鲜的美团现场面试41题(三面技术+HR面):Redis+Kafka+分布式

发布者: PHPYuan | 发布时间:2018-09-21

最新鲜的美团现场面试41题(三面技术+HR面):Redis+Kafka+分布式

一面hashmap与concurrenthashmap的区别垃圾回收算法以及垃圾回收器CMS的回收步骤G1和CMS的区别CMS哪个阶段是并发的哪个阶段是串行的?G1内部是如何分区的(region)HashMap如何解决Hash冲突my sql 索引类别什么是覆盖索引b+树和b树的区别为什么选用自增量作为主键索引my sql如何优化查询my sql如何在RR隔离级别下避免幻读问题:间隙锁my sql范式和反范式的区别以及彼此的优缺点AOF如何缩减自身文件大小AOF缩减自身文件大小的时候,数据库来了新的操作怎么办?多线程了解么?死锁条件以及破坏死锁条件的方法volatile做什么用的,如何实现可见性的volatile和atomic的区别atomic底层是如何实现的二面表锁 行锁 乐观锁 悲观锁的特点和区别并发工具包有哪些,具体怎么用Lock和Synchronized的区别分布式下redis如何保证线程安

想读更多 ->

thinkPHP第二节课:学习thinkPHP从Helloworld开始

发布者: PHPYuan | 发布时间:2018-09-20

学习thinkPHP从Helloworld开始

一、环境的搭建

1、 准备好三样东西

1) UPUPW(绿色软件,无需安装,解压就可以运行)UPUPW_AP7.0

thinkPHP第二节课:学习thinkPHP从Helloworld开始

UP

浏览器测试我们的Web服务器(Apache可以支持PHP)输入127.0.0.1

thinkPHP第二节课:学习thinkPHP从Helloworld开始

测试UP

UP解压到不包含中文名字的路径下,推荐解压到驱动器根目录

2) ThinkPHP框架的代码(thinkphp_

想读更多 ->

MySql分页查询慢|这里告诉你答案

发布者: PHPYuan | 发布时间:2018-09-20

背景

我们在开发的过程中使用分页是不可避免的,通常情况下我们的做法是使用limit加偏移量: select * from table where column=xxx order by xxx limit 1,20。 当数据量比较小时(100万以内),无论你翻到哪一页,性能都是很快的。如果查询慢,只要在 where条件和order by 的列上加上索引就可以解决。但是,当数据量大的时候(小编遇到的情况 是500万数据),如果翻到最后几页,即使加了索引,查询也是非常慢的,这是什么原因导致的呢?我们该如何解决呢?

limit分页原理

当我们翻到最后几页时,查询的sql通常是:select * from table where column=xxx order by xxx limit 1000000,20。 查询非常慢。但是我们查看前几页的时候,速度并不慢。这是因为limit的偏移量太大导致的。 MySql使用limit时的原理是(用上面的例子举例):

MySql将查询出1000020条记录。然后舍掉前面的1000000条记录。返回剩下的20条记录。

上述的过程是在《高性能MySql》书中确认的。

解决方案

解决的方法就是尽量使用索引覆盖扫描,就是我们select后面检出的是索引列,而不是 所有的列,而且这个索引的列最好是id。然后再做一次关联查询返回

想读更多 ->

Mysql中MyISAM、InnoDB两种表类型的区别

发布者: PHPYuan | 发布时间:2018-09-20

Mysql中MyISAM、InnoDB两种表类型的区别

InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能。

以下是一些细节和具体实现的差别:

◆1.InnoDB不支持FULLTEXT类型的索引。

◆2.InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行,但是MyISAM只要简单的读出保存好的行数即可。注意的是,当count(*)语句包含 where条件时,两种表的操作是一样的。

◆3.对于AUTO_INCREMENT类型的字段,InnoDB中必须包含只有该字段的索引,但是在MyISAM表中,可以和其他字段一起建立联合索引。

◆4.DELETE FROM table时,InnoDB不会重新建立表,而是一行一行的删除。

◆5.LOAD TABLE FROM MASTER操作对InnoDB是不起作用的,解决方法是首先把Inno

想读更多 ->