compress

Gzip压缩和解压

删除回忆录丶 提交于 2021-01-09 01:53:13
/// <summary> /// 将传入字符串以GZip算法压缩后,返回Base64编码字符 /// </summary> /// <param name="rawString">需要压缩的字符串</param> /// <returns>压缩后的Base64编码的字符串</returns> public string GZipCompressString(string rawString) { if (string.IsNullOrEmpty(rawString) || rawString.Length == 0) { return ""; } else { byte[] rawData = System.Text.Encoding.UTF8.GetBytes(rawString.ToString()); byte[] zippedData = Compress(rawData); return (string)(Convert.ToBase64String(zippedData)); } } /// <summary> /// GZip压缩 /// </summary> /// <param name="rawData"></param> /// <returns></returns> static byte[] Compress(byte[] rawData) {

MySQL8.0——Resource Group(资源组)

微笑、不失礼 提交于 2021-01-06 18:32:13
资源组介绍 简介 MySQL是单进程多线程的程序,MySQL线程包括后台线程(Master Thread、IO Thread、Purge Thread等),以及用户线程。在8.0之前,所有线程的优先级都是一样的,并且所有的线程的资源都是共享的。但是在MySQL8.0之后,由于Resource Group特性的引入,我们可以来通过资源组的方式修改线程的 优先级 以及所能使用的 资源 ,可以指定不同的线程使用特定的资源。 在目前版本中DBA只能操控CPU资源,并且控制的最小力度为vCPU,即操作系统逻辑CPU核数(可以通过 lscpu 命令查看可控制CPU总数)。 DBA经常会遇到需要执行跑批任务的需求,这种跑批的SQL一般都是很复杂、运行时间长、消耗资源多的SQL。所以很多跑批任务都是在业务低峰期的时候执行,并且在从库上执行,尽可能降低对业务产生影响。但是对于一些数据一致性比较高的跑批任务,需要在主库上执行,在跑批任务运行的过程中很容易影响到其他线程的运行。那么现在Resource Group就是DBA的福音了,我们可以对跑批任务指定运行的资源组,限制任务使用的资源,减少对其他线程的影响。 资源组信息查看 INFORMATION_SCHEMA.RESOURCE_GROUPS INFORMATION_SCHEMA库下的RESOURCE_GROUPS表中记录了所有定义的资源组的情况: 1

环信easeui集成:坑总结2018(二)

匆匆过客 提交于 2021-01-05 08:40:50
环信EaseUI 集成,集成不做描述,看文档即可,下面主要谈一些对easeui的个性化需求修改。 该篇文章将解决的问题: 1、如何发送视频功能 2、未完待续。。 -------------------------------------------------------------------------------------------------------------------- 一、如何发送视频 1、环信easeui 会话功能默认支持图片,拍照,位置 三个功能   想支持播放视频需要自己添加。   官方提供发送视频方法:    主要修改在EaseChatFragment.java文件中   ①、首先找到 很明显,这就是会话界面扩展功能,分别用于item 名称,图片,点击事件id,默认有拍照,相册,位置,这里屏蔽位置功能,添加视频功能 修改如下: // 屏蔽位置消息 , 添加视频消息 protected int [] itemStrings = { R. string .attach_take_pic, R. string .attach_picture ,R. string .attach_video}; protected int [] itemdrawables = { R.drawable.ease_chat_takepic_selector, R

Ansible运维的必备工具

折月煮酒 提交于 2021-01-01 05:55:30
Ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。 ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括: (1)、连接插件connection plugins:负责和被监控端实现通信; (2)、host inventory:指定操作的主机,是一个配置文件里面定义监控的主机; (3)、各种模块核心模块、command模块、自定义模块; (4)、借助于插件完成记录日志邮件等功能; (5)、playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。 一、系统安装 [root@centos6 ~]# cat /etc/issue CentOS release 6.5 (Final) [root@centos6 ~]# uname -r 2.6.32-431.el6.x86_64 二、软件安装 [root@centos6 ~]# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm [root@centos6 ~]#

postgresql数据库 TimescaleDB 定时压缩超表 删除超表(块)

自古美人都是妖i 提交于 2020-12-25 10:01:07
** postgresql数据库 TimescaleDB 定时压缩超表 删除超表(块) ** 在工作中 使用postgresql数据库 TimescaleDB 时序库进行存储实时数据,采集的数据量过大,提供的内存不足,因此考虑如何保存数据 TimescaleDB数据库中的超级表 TimescaleDB数据库自身带着函数就可以实现 ** TimescaleDB数据库所携带函数 一 .压缩 SELECT compress_chunk() ** 为了尽量不丢失数据,避免删除数据 我首先考虑把数据压缩,用他自带的函数 SELECT compress_chunk() 1查询时间 show_chunks() CREATE OR REPLACE FUNCTION "hrmw" . "show_chunks" ( "hypertable" regclass = NULL ::regclass , "older_than" any = NULL ::unknown , "newer_than" any = NULL ::unknown ) RETURNS SETOF "pg_catalog" . "regclass" AS '$libdir/timescaledb-1.7.1' , 'ts_chunk_show_chunks' LANGUAGE c STABLE COST 1 ROWS 1000

Gzip压缩存储解压工具类

こ雲淡風輕ζ 提交于 2020-12-18 17:43:47
Gzip压缩解压 package com.dadi01.scrm.foundation.utils.gzip; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.zip.GZIPInputStream; import java.util.zip.GZIPOutputStream; /** * @author lviter */ public class GzipUtils { public static final String GZIP_ENCODE_UTF_8 = "UTF-8"; public static final String GZIP_ENCODE_ISO_8859_1 = "ISO-8859-1"; /** * 字符串压缩为GZIP字节数组 * * @param str * @return */ public static byte[] compress(String str) { return compress(str, GZIP_ENCODE_UTF_8); } /** * 字符串压缩为GZIP字节数组 * * @param str * @param encoding *

UglifyJS中文文档

烂漫一生 提交于 2020-12-16 10:36:12
UglifyJS是JavaScript解析器,缩小器,压缩器和美化器工具箱。 由于webpack本身集成了UglifyJS插件(webpack.optimize.UglifyJsPlugin),其命令 webpack -p 即表示调用UglifyJS来压缩代码,还有不少webpack插件如 html-webpack-plugin 也会默认使用UglifyJS。 与UglifyJS2相比API变动较大,简化较多,文档也增加了不少示例。 由于webpack本身集成了UglifyJS插件(webpack.optimize.UglifyJsPlugin),其命令 webpack -p 即表示调用UglifyJS来压缩代码,还有不少webpack插件如 html-webpack-plugin 也会默认使用UglifyJS。因此我们其实经常要用到它,但UglifyJS本身配置较复杂/选项繁多,又没有中文文档,使用起来如坠云雾。鉴于此特翻译此文,谬误甚多,敬请斧正。 词典: parse 解释 compress 压缩 mangle 混淆 beautify 美化 minify 最小化 CLI 命令行工具 sourcemap 编译后代码对源码的映射,用于网页调试 AST 抽象语法树 name 名字,包括变量名、函数名、属性名 toplevel 顶层作用域 unreachable 不可达代码

Redis内部数据结构详解(5)——quicklist

老子叫甜甜 提交于 2020-12-12 14:36:51
本文是《 Redis内部数据结构详解 》系列的第五篇。在本文中,我们介绍一个Redis内部数据结构——quicklist。Redis对外暴露的list数据类型,它底层实现所依赖的内部数据结构就是quicklist。 我们在讨论中还会涉及到两个Redis配置(在redis.conf中的ADVANCED CONFIG部分): list-max-ziplist-size -2 list-compress-depth 0 我们在讨论中会详细解释这两个配置的含义。 注:本文讨论的quicklist实现基于Redis源码的3.2分支。 quicklist概述 Redis对外暴露的上层list数据类型,经常被用作队列使用。比如它支持的如下一些操作: lpush : 在左侧(即列表头部)插入数据。 rpop : 在右侧(即列表尾部)删除数据。 rpush : 在右侧(即列表尾部)插入数据。 lpop : 在左侧(即列表头部)删除数据。 这些操作都是O(1)时间复杂度的。 当然,list也支持在任意中间位置的存取操作,比如 lindex 和 linsert ,但它们都需要对list进行遍历,所以时间复杂度较高。 概况起来,list具有这样的一些特点:它是一个有序列表,便于在表的两端追加和删除数据,而对于中间位置的存取具有O(N)的时间复杂度。这不正是一个双向链表所具有的特点吗?

[Java]String、StringBuffer和StringBuilder的区别

拟墨画扇 提交于 2020-12-09 08:00:10
String: String是不可变类,一旦一个String对象被创建之后,String对象的字符串序列是不可变的。 String a = "abc" ; a = "bcd"; 当我们对a重新赋值时,会重新new一个String对象,使a重新指向新的String对象。 StringBuffer: StringBuffer对象是可变字符串对象,可以通过append(),insert()等方式对原有对象的字符串序列进行修改。StringBuffer对象可以通过toString()转换成String对象。 StringBuilder: StringBuilder对象也是可变字符串对象,其使用与StringBuffer大同小异,只是StringBuffer通过将所有方法添加 synchronized关键字 实现了线程安全,而StringBuilder没有实现线程安全。 LeetCode每日打卡3-16 面试题 01.06. 字符串压缩 字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。 示例1: 输入:"aabcccccaaa" 输出:"a2b1c5a3" 示例2: 输入:"abbccd" 输出:

minio 服务器部署,设置并 配置压缩

限于喜欢 提交于 2020-12-08 13:56:56
1.服务端部署 wget https://dl.minio.io/server/minio/release/linux-amd64/minio chmod +x minio # 启动后会打印出AccessKey和SecretKey等信息 ./minio server /data/minio_oss_srv # 后台运行 nohup ./minio server /data/minio_oss_srv > /data/logs/minio/minio.log 2>&1 & #开放9000端口 firewall-cmd --zone=public --add-port=9000/tcp --permanent firewall-cmd --reload #自定义端口号 ./minio server --address 101.121.115.159:9001 /data/minio_oss_srv 2.客户端部署 wget https: // dl.min.io/client/mc/release/linux-amd64/mc chmod + x mc . /mc --help 3.配置MySQL发布minio事件 #mc配置本地minio服务 $ ./mc config host add myminio http://127.0.0.1:9000 yourAccessKey