MySQL
一、日期与时间
1.1 convert_tz
convert_tz 能转换成你想要的时区,就将默认时区改成了中国时区。convert_tz(now(),'+00:00','+08:00')
就能得出 2021-03-05 17:59:36
。但也有例外,如果你的 MySQL Server 已经设置成中国时区,那就会多出8个小时,就只需去掉 convert_tz 函数即可
完整用法:UPDATE account set lastlogints = convert_tz(FROM_UNIXTIME(unix_timestamp()),'+00:00','+08:00') WHERE id = 1;
,
1.2 FROM_UNIXTIME
FROM_UNIXTIME 能将 1555396805
-> 2019-04-16 14:40:05
,实例用法:FROM_UNIXTIME(ts, '%Y-%m-%d %T') as ts
,更多像 %Y
之类的用法 https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_date-format
1.3 DATE_FORMAT
DATE_FORMAT 能将 2019-04-16 14:40:05
-> 2019-04-16
,实例用法:DATE_FORMAT(time, '%Y-%m-%d') AS time
二、Redis
2.1 keys 与 scan
- 相同点: keys 与 scan 都有查询 redis key 的作用
- 不同点:keys 会阻塞 redis 多路复用的 io 主线程,它一旦阻塞,后续的命令都会相应阻塞,但 scan 就不会。
- keys 优点:查询百万级以下的数据时简单、方便。keys 缺点:会阻塞主线程
- scan 优点:不会会阻塞主线程,还支持游标按批次(像翻页)迭代返回数据。scan 缺点:返回的数据有可能重复,需要我们在业务层按需要去重,命令如:
scan 0 MATCH "*kenny*" count 10000
网友评论