datax 启动方式 datax 三种启动方式 第一种使用python: 第二种 java源码 第三中 java命令启动 其实就是python启动最终攒出来的java命令 具体启动方式(暂时只测试了windows下) 第一步 配置 java环境 第二步 直接输入命令 (注意后面的参数按需修改执行的时候得把下面这一对放到一行) : 1234567891011121314151617java -server 2021-03-06 datax #datax
datax 编译方式 System Requirements Linux JDK(1.8以上,推荐1.8) Python(2或3都可以) Apache Maven 3.x (Compile DataX) Quick Start工具部署 方法一、直接下载 DataX 工具包:DataX下载地址 下载后解压至本地某个目录,进入 bin 目录,即可运行同步作业: 12$ cd {YOUR_DATAX_HO 2021-03-06 datax #datax
HTML 之 Form 认识表单 在一个页面上可以有多个form表单,但是向web服务器提交表单的时候,一次只可以提交一个表单。 要声明一个表单,只需要使用 <form></form> 标记来标明表单的开始和结束,若需要向服务器提交数据,则在form标签中需要设置action属性(用来设置提交表单的位置)、method属性(用来定义浏览器将表单中的信息提交给服务器端程序的处理方式)、target属 2021-03-04 frontend > HTML #frontend #HTML
HTML 简介 0、Web服务本质12345678910111213import socketsk = socket.socket()sk.bind(("127.0.0.1", 8080))sk.listen(5) while True: conn, addr = sk.accept() data = conn.recv(8096) conn.send(b"HTTP/1.1 200 OK\r\n 2021-03-04 frontend > HTML #frontend #HTML
HTTP 和 FTP 请求返回状态值 http1xx-信息提示这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应 12100-继续。 101-切换协议。 2xx-成功这类状态代码表明服务器成功地接受了客户端请求。 1234567200-确定。客户端请求已成功。 201-已创建。 202-已接受。 203-非权威性信息。 204-无内容。 205-重置内容。 206-部分内容。 3xx-重 2021-03-04 frontend > HTTP > FTP #HTTP #frontend #FTP
HTTP 常用请求头 通用首部 通用字段 作用 Cache-Control 控制缓存的行为 Connection 浏览器想要优先使用的连接类型,比如 keep-alive Date 创建报文时间 Pragma 报文指令 Via 代理服务器相关信息 Transfer-Encoding 传输编码方式 Upgrade 要求客户端升级协议 Warning 在内容中可能存在错误 请求首部 2021-03-04 frontend > HTTP #HTTP #frontend
URL 特殊符号 1. # # 代表网页中的一个位置。其右面的字符,就是该位置的标识符。比如,http://www.example.com/index.html#print 就代表网页 index.html的print位置。浏览器读取这个URL后,会自动将print位置滚动至可视区域。 为网页位置指定标识符,有两个方法。一是使用锚点,比如,二是使用id属性,比如 <a name="print&quo 2021-03-04 HTTP #HTTP
01-Redis Lua 基本操作Redis 中执行 Lua 可以通过两种方式: eval:将 Lua 脚本或命令直接使用 Redis 执行, evalsha:把脚本或命令保存到 Redis 中,然后使用一串 sha 码调用(可以理解为调用函数) 在Redis使用LUA脚本的好处包括: 减少网络开销,在 Lua 脚本中可以把多个命令放在同一个脚本中运行; 原子操作,Redis会将整个脚本作为一个整体执行,中间不会被 2021-01-01 Redis #Redis
01-Redis 五大数据类型 五大数据类型Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。它支持多种类型的数据结构,如 字符串(strings) 散列(hashes) 列表(lists) 集合(sets) 有序集合(sorted sets) 与范围查询 bitmaps hyperloglogs 地理空间(geospatial) 索引半径查询。 Redis 内置了 复 2021-01-01 Redis #Redis
01-Redis 发布订阅 - PubSub Redis 中的发布/订阅功能发布/订阅系统 是 Web 系统中比较常用的一个功能。简单说就是 发布者发布消息,订阅者接受消息 虽然可以用一个 list 列表结构结合 lpush 和 rpop 来实现消息队列的功能,但是很难实现实现 消息多播 的功能。 为了支持消息多播,Redis 不能再依赖于那 5 种基础的数据结构了,它单独使用了一个模块来支持消息多播,这个模块就是 Pub 2021-01-01 Redis #Redis
01-Redis 消息队列 - Stream 持久化的发布订阅系统 Stream 持久化的发布/订阅系统Redis Stream 从概念上来说,就像是一个 仅追加内容 的 消息链表,把所有加入的消息都一个一个串起来,每个消息都有一个唯一的 ID 和内容,这很简单,让它复杂的是从 Kafka 借鉴的另一种概念:消费者组(Consumer Group) (思路一致,实现不同): 上图展示了一个典型的 Stream 结构。每个 Stream 都有唯一的名称, 2021-01-01 Redis #Redis
01-Redis 特殊数据类型之 BitMap BitMap简介在开发中,可能会遇到这种情况:如需要记录用户一年的打卡情况,打卡了是1,没有打卡是0,如果使用普通的 key/value 存储,则要记录 365 条记录,如果用户量很大,需要的空间也会很大,所以 Redis 提供了 Bitmap 位图这中数据结构, Bitmap 就是通过操作二进制位来进行记录,即为 0 和 1;如果要记录 365 天的打卡情况,使用 Bitmap 表示的 2021-01-01 Redis #Redis
01-Redis 特殊数据类型之 GeoHash 一、使用数据库实现查找附近的人众所周知,地球上的任何一个位置都可以使用二维的 经纬度 来表示,经度范围 [-180, 180],纬度范围 [-90, 90],纬度正负以赤道为界,北正南负,经度正负以本初子午线 (英国格林尼治天文台) 为界,东正西负。 比如说,北京人民英雄纪念碑的经纬度坐标就是(39.904610, 116.397724),都是正数,因为中国位于东北半球。 所以,当我们使用数据库存 2021-01-01 Redis #Redis
01-Redis 特殊数据类型之 HyperLogLog HyperLogLogRedis 在 2.8.9 版本添加了 HyperLogLog 结构。 Redis HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定的、并且是很小的。 在 Redis 里面,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基数。 2021-01-01 Redis #Redis
01-Redis 特殊数据类型之 bloom-filter 简介参考:布隆过滤器 安装Redis 4.0 之后才提供了布隆过滤器。布隆过滤器是作为一个插件加载到 Redis Server 中的,要使用布隆过滤器,需要在 Redis 中安装布隆过滤器插件,步骤如下: 下载 redisbloom 插件(Redis官网下载即可) 下载地址:https://github.com/RedisLabsModules/redisbloom/ 找到最新的 tag 下载 2021-01-01 Redis #Redis
02-Redis 数据结构之 字典的数据结构 一、Redis 字典结构内部结构Redis 字典的结构和 Java 中的 HashMap 有点类似,都是存放键值对,在底层都是使用数组加链表(称为一个哈希表)的形式来实现的,但与 HashMap 不同的是,在 Redis 中,它由两个哈希表组成,它的结构大致如下图所示: 由上图可以看到,它使用两个 hashtable ,姑且称之为 0 号哈希表和 1 号哈希表,每次只会使用 0 号哈希表,那么 2021-01-01 Redis #Redis
02-Redis 数据结构之 跳跃表 一、跳跃表简介跳跃表(skiplist)是一种随机化的数据结构,由 William Pugh 在论文《Skip lists: a probabilistic alternative to balanced trees》中提出,是一种可以于平衡树媲美的层次化链表结构——查找、删除、添加等操作都可以在对数期望时间下完成,以下是一个典型的跳跃表例子: Reids 有一个叫 有序列表 zset 的数据结 2021-01-01 Redis #Redis
03-Redis 内存模型 前言我们使用 Redis 时,会接触 Redis 的5种对象类型(字符串、哈希、列表、集合、有序集合),丰富的类型是 Redis 相对于 Memcached 等的一大优势。在了解 Redis 的5种对象类型的用法和特点的基础上,进一步了解 Redis 的内存模型,对 Redis 的使用有很大帮助,例如: 估算 Redis 内存使用量。目前为止,内存的使用成本仍然相对较高,使用内存不能无所顾忌;根 2021-01-01 Redis #Redis
03-Redis 持久化 一、持久化简介持久化的功能:Redis 是内存数据库,数据都是存储在内存中,为了避免进程退出导致数据的永久丢失,需要定期将 Redis 中的数据以某种形式(数据或命令)从内存保存到硬盘;当下次 Redis 重启时,利用持久化文件实现数据恢复。除此之外,为了进行灾难备份,可以将持久化文件拷贝到一个远程位置。 持久化发生了什么 | 从内存到磁盘我们来考虑一下 Redis 作为一个 内存数据库 要做的关 2021-01-01 Redis #Redis
04-Redis 事务 理论Redis 事务的本质是一组命令的集合。事务支持一次执行多个命令,一个事务中所有命令都会被序列化。在事务执行过程,会按照顺序串行化执行队列中的命令,其他客户端提交的命令请求不会插入到事 务执行命令序列中。 总结说:Redis 事务就是一次性、顺序性、排他性的执行一个队列中的一系列命令。在 Redis 中,事务具有原子性(Atomicity)、一致性(Consistency)和隔离性(Isola 2021-01-01 Redis #Redis