时间戳

postgresql 数据库中间件 pgoneproxy 实现冷热数据分离查询(二)

前提是你 提交于 2020-03-02 02:17:19
在前一篇《 postgresql中间件pgoneproxy支持冷热数据分离查询 》中讲解了按照id来进行数据的分离,针对时间至少稍微的提了一下。本篇这专门针对时间来进行讲解和测试下。 在我的数据库中新建了一张表bigtest,其中字段情况如下所示: Table "public.bigtest_0" Column | Type | Modifiers --------+-----------------------------+----------- id | integer | name | character varying(1024) | age | integer | tt | timestamp without time zone | 现在按照tt字段来进行数据的分离插入和查询。下面是bigtest表的分表的配置情况: { "table" : "bigtest", "pkey" : "tt", "type" : "timestamp", "method" : "buffer", "partitions": [ {"suffix":"_0", "group":"data1", "minval":"2004-01-01 00:00:00", "maxval":"2015-01-01 00:00:00"}, {"suffix":"_1", "group":"data1",

MySQL时间字段究竟使用INT还是DateTime的说明

丶灬走出姿态 提交于 2020-03-01 15:14:47
今天解析DEDECMS时发现deder的MYSQL时间字段,都是用 `senddata` int(10) unsigned NOT NULL DEFAULT '0'; 随后又在网上找到这篇文章,看来如果时间字段有参与运算,用int更好,一来检索时不用在字段上转换运算,直接用于时间比较!二来如下所述效率也更高。 归根结底:用int来代替data类型,更高效。 环境: Windows XP PHP Version 5.2.9 MySQL Server 5.1 第一步、创建一个表date_test(非定长、int时间) CREATE TABLE `test`.`date_test` ( `id` INT NOT NULL AUTO_INCREMENT , `start_time` INT NOT NULL , `some_content` VARCHAR( 255 ) NOT NULL , PRIMARY KEY ( `id` ) ) ENGINE = InnoDB; 第二步、创建第二个表date_test2(定长、int时间) CREATE TABLE `test`.`date_test2` ( `id` INT NOT NULL AUTO_INCREMENT , `start_time` INT NOT NULL , `some_content` CHAR( 255 ) NOT

微信二次分享

拥有回忆 提交于 2020-03-01 15:04:33
Q: 使用微信二次分享的时候,标题被截短,描述也变成了链接,图片也没有 solution 文档说明 微信JS-SDK说明文档 JS-SDK使用步骤 2.1 绑定域名 登录 微信公众平台 进入“公众号设置”-->>“功能设置”-->>“JS接口安全域名”,按照提示进行填写。 前端 2.2 引入js文件 在需要调用JS接口的页面引入如下JS文件,http://res.wx.qq.com/open/js/jweixin-1.2.0.js 2.3 通过config接口注入权限验证配置 wx.config({ debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: '', // 必填,公众号的唯一标识 timestamp: , // 必填,生成签名的时间戳 nonceStr: '', // 必填,生成签名的随机串 signature: '',// 必填,签名,见附录1 jsApiList: [] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); 2.4 通过ready接口处理成功验证 wx.ready(function(){ // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,

闲聊么

时光怂恿深爱的人放手 提交于 2020-03-01 14:18:25
闲聊几句 大概是一年前,我就已经了解过这款产品。当时也有过建站,但是没有坚持下来。现在是第二次尝试。在原先的基础上,增加了更多的自定义。在这里记录一下网站接入闲聊么的过程。 简单接入 xianliao.me 是支持最简洁的方式接入到你的网站的,只需要在他们的官网注册一个账号。你就能得到一个web_id和SSO_key。 根据上面的图片,只需要使用很简单的代码,就可以接入到你的网站。 但是 ,有一个非常现实的问题,如果访问者想要加入,必须使用微信扫一扫才能登录并且开始聊天。 相信不是流量特别大的网站,这一步应该可以劝退一大波的访问者了。所以就有了下文。我是如何通过他的API搭建起一个只需要输入一个随机用户名就能开始聊天的系统的。 分析API 在 xianliaome 的官网,我们发现他们提供了 定制代码接入 的功能,我们可以通过 手机端接入 API,模拟出一个“已登录用户”,提供给游客进行聊天。 在手机端接入闲聊么的方法: https://xianliao.me/s/你的web_id?mobile=1&uid={登录用户的ID}&username={登录用户的用户名,需要做URI encode}&avatar={登录用户的头像URL,需要做URI encode}&ts={当前的Linux timestamp}&token={即xlm_hash,见下附的xlm_hash的生成方法}

Kerberos认证流程

有些话、适合烂在心里 提交于 2020-03-01 11:51:00
第一步,账号A和KDC互相认证。 1、账号A利用哈希函数将密码转化成一把密钥,这里称它为 Key-Client 。 2、利用Key-Client将当前的时间戳加密,生成一个字符串。表示为 “{时间戳} Key-Client” 。 3、将上一步生成的字符串“{时间戳} Key-Client”、账号A的信息以及一段随机字符串发给KDC。这样就组成了Kerberos的身份认证请求AS-REQ,可以使用下面的公式来表示: AS-REQ=“{时间戳} Key-Client”+“账号A的信息”+“随机字符串”。 4、KDC收到AS-REQ之后,读取到A的信息,就可以调出A的密码,再使用同样的哈希函数将其转化为Key-Client。有了Key-Client就可以解开“{时间戳} Key-Client”了。如果能够成功解开,就说明这个请求是由账号A生成的,毕竟其它账号不可能有Key-Client进行加密。 Kerberos之所以使用时间戳进行加密,原因就在于如果黑客在网络上截获了字符串“{时间戳} Key-Client”,那么就有可能伪装成账户A来欺骗认证。这种方式就称为重放攻击。采用这种攻击方式需要一定的时间,所以KDC把解密得到的时间戳和当前的时间作对比,如果二者的差异过大,那么就可以认为遭受到了重放攻击。假如采用与时间无关的字符进行加密,那么是无法避开重放攻击的

基于Redis实现分布式锁

混江龙づ霸主 提交于 2020-03-01 10:44:18
背景 在很多互联网产品应用中,有些场景需要加锁处理,比如:秒杀,全局递增ID,楼层生成等等。大部分的解决方案是基于DB实现的,Redis为单进程单线程模式,采用队列模式将并发访问变成串行访问,且多客户端对Redis的连接并不存在竞争关系。其次Redis提供一些命令SETNX,GETSET,可以方便实现分布式锁机制。 Redis命令介绍 使用Redis实现分布式锁,有两个重要函数需要介绍 SETNX命令(SET if Not eXists) 语法: SETNX key value 功能: 当且仅当 key 不存在,将 key 的值设为 value ,并返回1;若给定的 key 已经存在,则 SETNX 不做任何动作,并返回0。 GETSET命令 语法: GETSET key value 功能: 将给定 key 的值设为 value ,并返回 key 的旧值 (old value),当 key 存在但不是字符串类型时,返回一个错误,当key不存在时,返回nil。 GET命令 语法: GET key 功能: 返回 key 所关联的字符串值,如果 key 不存在那么返回特殊值 nil 。 DEL命令 语法: DEL key [KEY …] 功能: 删除给定的一个或多个 key ,不存在的 key 会被忽略。 兵贵精,不在多。分布式锁,我们就依靠这四个命令。但在具体实现,还有很多细节

微信分享之设置分享title和icon

跟風遠走 提交于 2020-02-29 23:37:59
首先,无论是基于微信做什么,分享也好,上传图片也罢,第一步都要先设置config参数 var appId = ""; var timeStamp = ""; var nonceStr = ""; var signature = ""; $.ajax({ type: 'post', url: '/Control/GetWeiXinParm', async: false, data: { url:window.location.href}, success: function (data) { appId = data.appId; timeStamp = data.timeStamp; nonceStr = data.nonceStr; signature = data.signaTure; } }); 参数设置完成后,开始设置微信调用的方法 if (window.wx) { wx.config({ debug: false,//debug为true时,打开微信调试 appId: appId, timestamp: timeStamp, nonceStr: nonceStr, signature: signature, jsApiList: [ 'checkJsApi', 'openLocation', 'getLocation', 'onMenuShareTimeline',/

h5网页在微信里打开 右上角分享到微信好友或者朋友圈

你。 提交于 2020-02-29 23:37:14
首先你需要一个分享接口地址,然后在自定义图片 标题 描述 如下: <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script> <script> $(function() { //微信分享 $.ajax({ "url":"https://***.***.com/getJsAPITicket", //接口地址 "type":"Get", "dataType":"json", "data":{"url": window.location.href}, "success":function(data){ wxstart(data, ""); } }); }); function wxstart(data, url){ var url = ''; //分享的文章地址 var appId = data.appId; var timestamp = data.timestamp; var nonceStr = data.nonceStr; var signature = data.signature; wx.config({ debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。

Linux文件目录介绍及操作

时光毁灭记忆、已成空白 提交于 2020-02-29 22:55:26
1 描述Linux发行版的系统目录名称规则以及用途 Linux的文件系统采用的是一个树形结构的目录规则,这样目录之间不会重复,其中有以下重要目录: /boot:操作系统启动时加载内核的目录; /root:管理员的家目录,可以放置管理员配置的一些变量; /home:普通用户的家目录,存放普通用户的数据; /etc: 操作系统及软件的配置文件; /dev: 操作系统的设备文件,例如硬盘等; /proc:运行在内存中的实时数据; /run: 运行的进程的文件; /sys: 系统运行中的系统文件; /var: 变化的数据文件,比如log日志相关; /tmp: 临时文件; /usr: 存储的二进制文件和程序依赖的lib库文件; /srv: 系统提供服务的数据文件; 2 描述文件的元数据信息有哪些,分别表示什么含义,如何查看?如何更改文件的时间戳信息? Linux系统中文件是分为元数据和数据两个部分,元数据是对文件属性的描述,包括文件的所属情况,文件的权限情况,文件的时间戳,文件的大小和节点编号等等信息;文件的元数据是作为文件索引的一部分进行存储的,而文件真正的数据部分是作为数据块存储在磁盘上的,根据文件的索引表通过指针指向文件所有的数据块。Stat命令可以查看文件的元数据信息,touch命令可以更改文件的时间戳信息。 文件的时间戳信息: Access time,访问时间,读取文件内容的时间;

python时间处理之time模块

感情迁移 提交于 2020-02-29 22:48:52
时间处理是工作中常用的操作,下面我们介绍time模块常用的操作,开始之前我们先来看常见问题: 1:如何获取当前时间? 2:如何将时间转成字符串? 3:如何将字符串转成时间,可以获取对应的年月日时分秒? 4:如何将时间转成自己想要的格式? 掌握time模块,以上问题轻松解决。 1.时间类型划分 1.1 导入time模块 import time 1.2 time模块 time模块那么多方法,如何区分? 根据时间格式划分为: a)时间戳 b)struct_time格式(时间格式,可以轻松获取年月日,时分秒各个值) c)字符串时间(可读性好) 下面逐一详解(以下操作在jupyter,python3.x版本操作) 2 时间戳处理 跟着感觉走: 2.1 获取时间戳 什么是时间戳?就是一个大的浮点数,计算机用来记录时间用的,大概好像是1970年的某年月开始的。 获取时间戳正确姿势: time.time():获取时间戳,返回浮点数,单位秒 import time t=time.time() t 结果: 1582968461.3394606 获取时间戳,对我们来说意义不大,怎么获取对应的年与日时分秒? 2.2 时间戳转struct_time: struct_time是一个对象,类似元组,主要包含时间信息 属性 说明 tm_year 年 tm_mon 月[01,31] tm_mday 日 tm