Redis-位图法统计活跃用户
场景:1亿个用户, 每个用户 登陆/做任意操作 ,记为 今天活跃,否则记为不活跃每周评出: 有奖活跃用户: 连续7天活动每月评,等等… 假设[day_n]天,当一个用户上线时, 我们就使用 SETBIT 命令, 将这个用户对应的二进制位设置为 1 : # 此处的 user_id 必须为数字,因为它会被用作索引 SETBIT "[day_n]…
【PHP】多进程
进程是系统进行资源分配和调度的基本单位,执行一个 php 程序,默认只会生成一个进程,当该进程发生请求 IO 时,就会被挂起,让出 CPU,php 的多进程编程的目的就是要在多个进程并发的执行任务,当其中一些进程由于发生 IO 被挂起时,还有一些进程可以利用 CPU 执行任务,这样就可以充分利用系统资源来完成我们的大批量任务了。 php 多进程开发…
快速上手几个Linux命令
用户与密码 修改密码: [root@deployer ~]# passwd Changing password for user root. New password: 创建用户: [root@deployer ~]# useradd altair 创建用户的时候,没有说加入哪个组,于是默认就会创建一个同名的组 设置altair密码 [root@d…
【简单排序】快速排序
快速排序(Quicksort),又称分区交换排序(partition-exchange sort),简称快排。 同冒泡排序一样,快速排序也属于交换排序,通过元素之间的比较和交换位置来达到排序的目的。 不同的是,冒泡排序在每一轮中只把1个元素冒泡到数列的一端,而快速排序则在每一轮挑选一个基准元素,并让其他比它大的元素移动到数列一边,比它小的元素移动到…
【简单排序】冒泡排序
冒泡排序(BubbleSort),是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来(把最大的元素泡冒到最后)。遍历的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。 它的执行过程如下图: 冒泡排序只需记住两个点: 两层嵌套循环; 相邻比较(顺序错误交换它们); 冒泡排序是一种稳定排…
【Docker】编排工具篇 – Docker Swarm
简介 Docker Swarm 是 Docker 官方三剑客项目之一,提供 Docker 容器集群服务,是 Docker 官方对容器云生态进行支持的核心方案。 使用它,用户可以将多个 Docker 主机封装为单个大型的虚拟 Docker 主机,快速打造一套容器云平台。 注:Docker 1.12 Swarm mode 已经内嵌入 Docker 引擎…
【Docker】编排工具篇 – Docker Machine
简介 Docker Machine 是 Docker 官方编排(Orchestration)项目之一,负责在多种平台上快速安 装 Docker 环境。 Docker Machine 项目基于 Go 语言实现,目前在 Github 上进行维护。 安装 macOS、Windows Docker for Mac、Docker for Windows 自带…
【Docker】编排工具篇 – Docker Compose
简介 Docker Compose 是 Docker 官方编排(Orchestration)项目之一,负责快速在集群中部署分布式应用,项目源码可以在 Github 上查看:https://github.com/docker/compose 主要基于 Python 编写。 Compose 定位是 「定义和运行多个 Docker 容器的应用(Defin…
【Docker】网络篇 – 外部访问容器及容器互联
外部访问容器 容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 -P 或 -p 参数来指定端口映射。 当使用 -P 标记时,Docker 会随机映射一个 49000~49900 的端口到内部容器开放的网络端口。 -p 则可以指定要映射的端口,并且,在一个指定端口上只可以绑定一个容器。支持的格式有ip:hostPort:contain…
【Docker】数据管理篇 – 数据卷及挂载主机目录
本文将介绍如何在 Docker 内部以及容器之间管理数据。 在容器中管理数据主要有两种方式: 数据卷(Volumes) 挂载主机目录 (Bind mounts) 数据卷 数据卷是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性: 数据卷可以在容器之间共享和重用 对数据卷的修改会立马生效 对数据卷的更新,不会影响镜像 数据…