压缩

(转载)Hbase -- hbase 压缩

戏子无情 提交于 2021-01-05 08:17:21
Hbase有两种压缩策略:minor和major。Minor compactions通常选择几个临近的小的storefiles把他们重写成一个。Minors 不会丢掉已删除或者过期的cells,只有major compactions才会做这些。有时一次Minor compactions将会选择一个store里的全部storefiles,因此,它实际上是一次局部的major compaction。 当进行完一次major compaction以后所有的store都只有一个storefiles,这对查询性能有很大提升。注意:major compaction将会在一个运行中的系统中重写全部store的数据,不提倡自动运行;major compactions 在大型系统中通常是手动进行的。 9.7.5.5.1. Compaction File Selection 为了了解选取storefile的核心算法,可以看下图: /* normal skew: * * older ----> newer * _ * | | _ * | | | | _ * --|-|- |-|- |-|---_-------_------- minCompactSize * | | | | | | | | _ | | * | | | | | | | | | | | | * | | | | | | | | | | | |

tarfile模块之addfile方法

☆樱花仙子☆ 提交于 2020-05-09 12:19:49
tarfile模块打包文件时可以利用add()添加文件,同时也可以利用addfile()来添加内存中的二进制流。 很难说这样有什么用处,比如你想打包一个文件到包里面,想预先对文件进行修改,但是又不想创建临时文件。 zipfile也有对应的方法:writerstr,而且比tarfile简单。 TarFile.addfile()需要预先创建一个TarInfo对象,补充Tarinfo对象的名字,长度、时间等信息。 看看下面的例子 import time import tarfile from io import BytesIO test = 'what fuck you doing?\nare you ok?' tar = tarfile.open('test.tar.gz','w:gz') #构建Tarinfo对象,添加文件名、缓冲区长度、文件创建时间 info = tarfile.TarInfo(name = "test.txt") info.size = len(test) info.itime = time.time() #添加的IO文件必须是二进制形式 tar.addfile(info,BytesIO(test.encode('utf-8')) tar.close() 来源: oschina 链接: https://my.oschina.net/u/2434331/blog

python3简单爬虫

允我心安 提交于 2020-04-06 19:51:54
刚接触爬虫,由于本科主要是学java的,因此之前从java入手爬虫。其实就是模拟http请求,然后将返回的html代码提取自己想要的数据。不过说起来很简单,作为小白,实现起来还是不容易阿。 之前稍微看了下一个java的框架源代码(还没全部看完,不过和还是会抽时间看看的),不过导师让我用python实现,因而转入python(导师很喜欢python的样子阿)。 说起python的环境搭建等等,我作为刚入python的小白其实还不清楚,直接下载了一个python3的源码,然后,照着操作安装了下,其实很简单,不多说了。 爬网页第一步就是要获取html代码 说来python获取html十分简单,只要几行就可以了,把我给震惊到了!!像java还是要写不少行的,再加上异常,代码看着还是挺臃肿的(不过习惯了)。 #coding=utf-8 import urllib.request def getHtml(url): response= urllib.request.urlopen(url) html = response.read() return html html = getHtml("http://www.baidu.com") print(html) 这里爬取了百度首页的html代码,没错,这是这么简单。 这里用了一个urllib.request模块,其实我觉得把java代码封装下

Base64压缩UUID长度替换Hibernate原有UUID生成器

丶灬走出姿态 提交于 2020-03-02 10:11:01
1、背景 在采用Hibernate做对象映射时,我一直都采用UUID来做主键。由于Hibernate的UUID需要占用32位的字符,所以一般都会让人感觉响效率且增加存储占用。 我在查看公司项目时发现了一种比较好的生成UUID的方法,就是将UUID数据进行Base64化。觉得比较有意义拿出来给大家分享。 2、传统UUID a、java.util.UUID(RFC 4122 http://www.ietf.org/rfc/rfc4122.txt ) Java中的UUID采用RFC 4122的标准,按标准数据按16进制进行表示(36个字符)。如:f81d4fae-7dec-11d0-a765-00a0c91e6bf6 b、Hibernate UUID Hibernate默认产生的UUID与RFC 4122标准相比,去掉了没有用的"-"分割符号,所以更短(32个字符)。如: f81d4fae7dec11d0a76500a0c91e6bf6 3、Base64格式的UUID 由于Base64编码使用的字符包括大小写字母各26个,加上10个数字,和加号“+”,斜杠“/”,一共64个字符。所以才有Base64名字的由来。Base64相当于使用64进制来表示数据,相同长度位数的情况下要比16进制表示更多的内容。 由于UUID标准数据总共是128-bit,所以我们就可以对这个128

PHP压缩html网页代码(清除空格,换行符,制表符,注释标记)

拜拜、爱过 提交于 2020-02-28 19:04:40
PHP压缩html网页代码 (清除空格,换行符,制表符,注释标记)。 有个不错的方法就是压缩HTML,压缩html 其实就是:清除换行符,清除制表符,去掉注释标记 。它所起到的作用不可小视。 现提供PHP 压缩HTML函数。请大家不妨试试看,感觉还不错吧。 不废话了,直接上代码: <?php /** * 压缩html : 清除换行符,清除制表符,去掉注释标记 * @param $string * @return 压缩后的$string * */ function compress_html($string) { $string = str_replace("\r\n", '', $string); //清除换行符 $string = str_replace("\n", '', $string); //清除换行符 $string = str_replace("\t", '', $string); //清除制表符 $pattern = array ( "/> *([^ ]*) *</", //去掉注释标记 "/[\s]+/", "/<!--[^!]*-->/", "/\" /", "/ \"/", "'/\*[^*]*\*/'" ); $replace = array ( ">\\1<", " ", "", "\"", "\"", "" ); return preg_replace(

第七节——压缩和解压

ぐ巨炮叔叔 提交于 2019-12-10 06:37:17
1 介绍 压缩响应通常可以显著减少传输数据的大小。然而,压缩发生在运行时,也会增加相当大的处理开销,对性能有负面影响。NGINX在发送响应到客户端时执行压缩,但不对已经压缩的响应“二次压缩”。 2 启用压缩 为了启用压缩,设置 gzip 指令为 on : gzip on; 默认,NGINX只压缩MIME为text/html类型的响应。为了压缩其它MIME类型的响应,需要设置 gzip_types 指令。 gzip_types text/plain application/xml; 使用 gzip_min_length 指令指定进行压缩的响应的最小大小。默认是20字节(下面调整为1000字节)。 gzip_min_length 1000; 默认,NGINX不压缩 代理请求 (来自代理服务器的请求)的响应。来自代理服务器的请求由请求的 Via 头字段决定。使用 gzip_proxied 指令配置压缩这些响应。指令有大量参数指定NGINX应该压缩那些种类的 代理请求 的响应。例如,只有请求不缓存在代理服务器上,压缩响应才是合理的。由于这个目的, gzip_proxied 指令有参数指示NGINX检查响应的 Cache-Control 头字段,如果值是 no-cache 、 no-store 或 private 则压缩响应。此外,你必须为 Expires 头字段指定 expired 参数值

利用 .HTACCESS 启用 GZIP 压缩静态内容

你离开我真会死。 提交于 2019-12-07 20:14:44
为了优化网站的访问速度,我们可以通过对静态内容进行压缩,从而减少网页加载的时间,大大节省用户的带宽。在这篇文章中,我将介绍如何使用 Apache 和.htaccess文件进行静态内容压缩。 首先让我介绍一下,我们可以使用两种不同的方法压缩内容: GZip 和 deflate 。 介绍 GZip方法在早期的apache版本中使用(在Apache 1.3之前)。但在那之后apache引入了deflate方法,相比GZip并没有太大的效果(但仍是非常好的)。然而,GZip在apache 1.3之后不再提供更多的支持。因此,你的Apache版本必须大于1.3,如果没有,你必须升级到最新版本的Apache。 在使用压缩之前,你必须启用apache的mod_deflate模块。要启用这个模块,你只需要从httpd.conf文件去掉这个模块行。 启用这个模块后,你的服务器准备好提供压缩的内容。但是,服务器只有当它接收到来自客户端的相应头文件时,才会创建压缩内容。所以,现在你需要将下面的代码放置到你网站的htaccess文件,才能通知服务器提供压缩的内容。 .HTACCESS代码 <ifmodule mod_deflate.c=""> # force deflate for mangled headers # developer.yahoo.com/blogs/ydn/posts/2010/12

压缩你的PHP、JS、CSS等文本类型代码

醉酒当歌 提交于 2019-12-07 20:14:14
众所周知,减小代码在传输中的大小,就能提高页面的传输速度,打开网页也就快 了,这是基于带宽瓶颈的理论,当然服务器速度受到其他很多因素的影响, 有PHP代码执行速度,数据库访问速度,磁盘读写IO速度等,无论怎样,带宽影响是非常大,而受中国电信抑或是中国网通还有其他的一些电信公司的制约,在 服务器网络带宽并不很充裕的条件下,压缩代码传输将会大大节省带宽! 本文讲述通过使用Gzip压缩方式自动压缩相应的代码,在访问者浏览器端会自动还原成代码以便浏览器执行,至于编写代码时的良好风格节省空间的方法不在本文之列。 GZIP 最早由Jean-loup Gailly和Mark Adler创建,用于UNIX系统的文件压缩。我们在 LINUX中经常会用到后缀为.gz的文件,它们就是GZIP格式的。现今已经成为Internet 上使用非常普遍的一种数据压缩格式,或者说一种文件格式。HTTP协议上的GZIP编码是一种用来改进WEB应用程序性能的技术。大流量的WEB站点常常 使用GZIP压缩技术来让用户感受更快的速度。 首先测试一下你的网站各个页面是否采用了Gzip压缩,这里有个 测试工具 目前,有两种主流方法实现Gzip压缩。 一、 mod_deflate模块 mod_deflate 模块提供了DEFLATE输出过滤器,允许服务器在将输出内容发送到客户端以前进行压缩(应该也是采用gzip数据格式压缩

【整理】HTTP 协议中的压缩问题

落花浮王杯 提交于 2019-12-07 20:13:51
公司因业务需要,要求实现 REST API 的 HTTP 客户端支持 gzip 压缩。那么首先需要回答下面几个问题: gzip 压缩和其他压缩方式有什么不同?或者说优劣在哪里? HTTP 协议中对压缩方式的常规支持有哪些? =========== 我是分割线 ============ 查阅相关资料如下: LZ77 是一种基于字典的无损数据压缩算法(还有 LZ78, LZW 等)。 deflate 是一种数据压缩算法,实际上就是先用 LZ77 压缩,然后用霍夫曼编码压缩。 gzip 的基础是 defalte 。其 通过 defalte 算法压缩数据,然后加上 gzip 文件头和 CRC 校验。 压缩后生成 .tar.gz 或者 .tgz 文件。既 是一种文件结构,也可以算一种压缩格式。 ZIP 也使用 defalte 算法,但可移植性更好,并且不需要一个外部的归档工具就可以包容多个文件。但是由于 ZIP 对每个文件进行单独压缩而没有利用文件间的冗余信息(固实压缩),所以 ZIP 的压缩率要稍逊于 tar 压缩包。 zlib 是一个提供了 deflate, zlib, gzip 压缩方法的函数库;同时也是一种压缩格式,可以通过 deflate 压缩数据,之后加上 zlib 头和 CRC 校验来生成 zlib 文件格式。 bzip2 是 一个基于数据块排序算法的文件压缩工具,并作为

iOS开发中,PNG图片的各种压缩软件,以及压缩率对比

被刻印的时光 ゝ 提交于 2019-12-01 08:41:10
作者:shede333 主页:http://my.oschina.net/shede333 && http://blog.sina.com.cn/u/1509658847 版权声明:原创文章,版权声明:自由转载-非商用-非衍生-保持署名 | [Creative Commons BY-NC-ND 3.0][] ##各种压缩软件的对比情况: http://jamiemason.github.io/ImageOptim-CLI/comparison/png/photoshop/desc/ 压缩率较高的为 ImageAlpha 的有损压缩 加上 ImageOptim 的无损压缩,二者要要先后顺序, 嫌麻烦的话,少量图片也可以使用在线工具: TinyPNG 此工具有api,但是有限制,每个key每月300次,再多就要收费 这是我另外一篇压缩图片的文章: Mac OS系统 降低图片图片质量工具以及批量处理 ##ImageOptim 进入官网 无损压缩,GUI + Command Line(有GUI软件,也有命令行) ###注意: 使用此工具,需要 关闭Xcode自带的图片压缩功能 ,否则Xcode压缩图片后反而会增加 Xcode设置见教程 Command Line : https://imageoptim.com/command-line.html include: PNGOUT Zopfli