xorm使用map kv更新日期时间类型字段的时区问题

最近使用xorm更新db的时候碰到一个挺有意思的问题,db中字段类型是日期datetime,对应go model中的字段是time.Time类型,在分别使用model和map两种方式进行更新时,使用model的方式更新能得到正确结果,db中的日期能被更新成当地时间;使用map kv的方式进行更新时db中的字段被更新成了格林尼治标准时间。都是取的go time.Now为什么更新结果不一样呢? // demo type TimeTest struct { ID int64 `xorm:"not null pk autoincr INT(11) 'id'"` UpdateTime time.Time `xorm:"update_time"` } func UpdateTime(o *xorm.Session) { o.Table(new(TimeTest)).Where("id = ?", 1).Update(&TimeTest{ UpdateTime: time.Now(), }) o.Table(new(TimeTest)).Where("id = ?", 1).Update(map[string]interface{}{ "update_time": time.Now(), }) } ...

July 29, 2023 · 5 min · mengboy

redis分布式锁

分布式锁主要解决分布式系统中并发更新安全问题,单机服务的话很简单直接使用语言自身的锁就可以了,现在随便一个服务基本上都是多台机器部署的,只是语言自身的锁就不满足需求了,因为它只能锁本台机器,管不了其他机器,这时候就需要分布式锁了,下面介绍下基于redis分布式锁的实现。 ...

June 3, 2023 · 3 min · mengboy

hexo版本升级

hexo版本升级还是很简单的,先切到hexo目录,使用npm i hexo-cli -g升级全局hexo,接下来再使用npm-check、npm-upgrade,npm-update升级相关依赖。 ...

May 21, 2023 · 2 min · mengboy

通过nginx流代理转发流量到trojan服务

上一篇文章记录了trojan的安装过程,但是使用过程发现443端口被trojan服务占用后,就不好部署一些自己的服务网站了。比如我想实现一个在线json解析的页面,并给这个页面申请个子域名json.mfun.ink,由于443端口已经被占用,我们无法直接使用nginx给json.mfun.ink在443端口上配置ssl。那该如何解决呢?我们可以通过nginx的流(stream)代理转发443端口的流量。把trojan的流量转发给trojan服务,把其他https域名的流量转发相应的https服务。 ...

May 20, 2023 · 3 min · mengboy

trojan-go 安装配置

本文记录一下"科学上网"工具trojan的安装和配置,至于为什么是trojan,说出来也是够坎坷。楼主之前搭的梯子使用过ss、ssr、v2ray,后来不想折腾了买了Lantern,不过最近Lantern用起来也各种不稳定,终于到了无法忍受的地步,刚好手里有国外的服务器就想着的自己再搭一个。一开始搭的ssr结果不到一周ip就被封了,看来伟大的gfw已经能够精准识别ssr流量了,无奈只好寻求其他的方法。 ...

March 4, 2023 · 5 min · mengboy

Vue3学习笔记一.项目初始化

安装 vue的安装就直接参考官方文档,描述的已经很详细了。 项目创建 直接使用vue create + 项目名创建项目,默认有三种配置可选,vue2、vue3各有一个默认创建选项,也可以选第三种自定义项目创建要引入的features。 ...

October 16, 2022 · 2 min · mengboy

基于redis实现一个简单的分布式限流器

分布式限流器也是项目开发中常用的,基于redis incr指令可以比较方便快捷的实现一个分布式限流器,因为这个指令自身的原子性,所以不用开发者考虑计数过程的并发问题。下面是go代码实现。 ...

October 15, 2022 · 2 min · mengboy

goroutine 并发数量限制

最近经常用go写一些脚本,为了执行效率,一般会开启多个goroutine并发执行,脚本中通常会调用一些线上服务或者数据库读写数据,为了不影响线上服务运行,为了不影响线上服务运行就要对执行的goroutine数量进行限制,避免并发太大打垮线上服务。下面就简单写一个goroutine并发控制器。 ...

October 15, 2022 · 2 min · mengboy

2021年滴滴、腾讯视频、字节等面试记录

好未来 一面 自我介绍 最近做到项目 没细聊 redis 常用结构 redis 宕机恢复 aop rdb 连接池 获取句柄时并发控制 mysql 引擎 区别 索引结构 b树 b+树 二叉树 算法 求数组交集 复杂度 算法 链表 快慢指针 http code 码 常用orm框架 tcp udp 日志存储 elk 接口稳定性监控 sync map GMP 垃圾回收 你有什么想问的 问了下对面部门 期望薪资 ...

October 8, 2022 · 2 min · mengboy

MacOS 使用笔记

终端命令行 brew包管理工具 brew mac下的神器,类似linux的包管理工具,可以通过brew安装各种软件。 ...

November 18, 2020 · 2 min · mengboy