inight

inight 查看完整档案

广州编辑  |  填写毕业院校群友茶吧  |  清洁员 编辑 blog.itsdz.com/ 编辑
编辑
_ | |__ _ _ __ _ | '_ \| | | |/ _` | | |_) | |_| | (_| | |_.__/ \__,_|\__, | |___/ 个人简介什么都没有

个人动态

inight 回答了问题 · 3月16日

mysql如何查询一年中下单天数最多的用户?

SELECT *
FROM user as u
         INNER JOIN (SELECT user_id, COUNT(order_id) as order_nums
                    FROM order
                    GROUP BY user_id
 ORDER BY order_nums desc
 LIMIT 200) as o on u.user_id = o.user_id

试试?

关注 4 回答 4

inight 回答了问题 · 3月15日

GORM连接池错误

  1. 请先百度搜索一下《提问的智慧》,并且阅读全文以后,对问题进行修改。
  2. 像这种问题,不是应该先咨询一下你所用的mysql包作者嘛?
  3. 我简略看了一下。mysql包中的InitModule是如下写的:
func InitModule(configPath string) error {
    return initModule(configPath, []string{"base", "mysql", "redis"})
}

但是你的调用:

lib.InitModule("./conf/dev/", []string{"base", "mysql", "redis"})

我不太清楚你的代码怎么跑起来的,不如先自己调试一下?

关注 2 回答 1

inight 回答了问题 · 3月15日

restful api请求的速度怎么也降不下去,是不是已经没有提升空间了

  1. 在服务端记录一下请求进入时间
  2. 在服务端记录一下请求响应时间
  3. 如果响应时间-进入时间很短,那就排查一下带宽是不是真的有这么快。

关注 3 回答 3

inight 赞了回答 · 3月15日

解决高并发点赞使用了kafka队列,点赞请求写入队列,消费者异步消费,问题是客户端如何获取点赞结果?轮询?

如果是普通的点赞,可以直接在客户端直接+1,并不需要后端推送,如果是类似直播间点赞,后端可以定时往直播房间推送点赞信息

关注 5 回答 4

inight 回答了问题 · 3月12日

在session存入的是对象,为什么取出来变成了字符串?

不太清除java。说一下我的猜想。
在写入session的时候。User可能存在一些隐形输出,例如toString或类似的,将对象转字符串。最终session存储的是字符串。因为session只支持字符串存储。

读的时候session自然读出的是字符串。

存储时候建议将内容序列化。读在反序列化。

关注 4 回答 3

inight 回答了问题 · 3月12日

解决多个定时任务,执行间隔时间不一样,如何处理执行逻辑更合适?

我用PHP写过一个crontab例子玩过。

php-cli分为两部分。一部分为观察者,另一部分为消费者:

  • 观察者是观察是否有满足条件的任务,如果有满足条件的任务就会生成一个任务ID,然后将任务与任务ID一同push到redis消息队列。
  • 消费者轮询队列,发现队列中有任务存在就将其取出执行,待执行完毕通过任务ID通知观察者该任务重新开始计时。

在您的问题中:
问:前面的任务执行时间特别长。大于后面任务的n
答:观察者不负责执行,只负责观察是否存在满足条件的任务。然后将其通过队列移交到消费者端。就不存在前面的任务执行时间长导致后面的任务无法执行。(消费者不止一个进程。可以看实际情况开启多个)

关注 4 回答 4

inight 回答了问题 · 3月12日

Docker 容器中,日志目录如果没有挂载出来,会怎样?

不会怎么样。

  1. 母机磁盘满了一起挂
  2. 你限制了容器磁盘大小,满了就挂掉

关注 3 回答 2

inight 回答了问题 · 3月11日

解决这段代码怎么实现我想要的效果,异步有点懵了

......你这明显就是错误的写法呀。
实际上代码执行到你的

log.info(JSON.stringify(syncResult))

异步代码并没有执行完。所以这里获取的是空。

建议优化语法

const requests = [];

Object.keys(authedStore).map(key => requests.push(syncShopeeMessage({
  host: authedStore[key].host,
 token: authedStore[key].token,
 userInfo: authedStore[key].storeName,
})))

let syncResult = await Promise.all(requests)

关注 2 回答 2

inight 回答了问题 · 3月11日

前端向后端传参(json),接口中的参数会被序列化了,怎么处理

这个格式是没有问题呀。
后端一般支持拿到数组。
不支持就自己写个解析就可以啦

关注 7 回答 6

inight 回答了问题 · 3月11日

最近看一篇关于web安全的文章 有一句话没明白

做web安全,一定要坚持的一点:不相信任何用户输入的任何内容。

该encode就encode,该敏感字符过滤就过滤。防止xss最有效的做法。就是任何用户内容输出时候 加上htmlspecialencode 去解决。

关注 5 回答 5

认证与成就

  • 获得 11 次点赞
  • 获得 2 枚徽章 获得 0 枚金徽章, 获得 0 枚银徽章, 获得 2 枚铜徽章

擅长技能
编辑

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2018-03-29
个人主页被 761 人浏览