通过 Github Actions 部署 Github Pages
在项目的 settings 中 github pages 可以通过根目录或docs目录部署。但是这种方式不够灵活,对于一些前段项目,需要不停的通过CI生成站点文件,提交到git中再部署,git中存储了许多构建产物,显得冗余臃肿。
实际上,github也支持通过actions来部署pages,不需要将站点文件储存在git中。
在项目的 settings 中 github pages 可以通过根目录或docs目录部署。但是这种方式不够灵活,对于一些前段项目,需要不停的通过CI生成站点文件,提交到git中再部署,git中存储了许多构建产物,显得冗余臃肿。
实际上,github也支持通过actions来部署pages,不需要将站点文件储存在git中。
我们都知道在编写github actions时,可以使用其他预定义好的github action,类似如下写法.
在使用单实例Redis时, 我们可以使用./redis-cli -h redis_ip -p redis 6379 --ldb --eval script.lua somekey , arg1 arg2命令轻松的进入debug模式调试lua脚本
在正常情况下, 进入debug模式后可以使用一系列命令来执行控制脚本的执行, 使用help命令应该可以看到如下界面
在使用Redis时, 通常会使用EXPIRE, PEXPIRE系列函数设置生存时间, 当需要获取超时时间时使用TTL, PTTL获取剩余的生存时间。
同样的, 还可以使用EXPIREAT, PEXPIREAT以unix timestamp格式设置超时时间点, 但需要注意的是, Redis 7.0 之前没有函数能获取设置timestamp, 只能使用TTL, PTTL获取剩余的生存时间。
在实际使用中, 经常需要比较新旧生存周期的大小来决定是否更新数据, 如果你很幸运的使用7.0及之后的版本, 可以使用EXPIREAT, PEXPIREAT配合GT参数来设置过期时间, 如果新的过期时间小于已有过期时间, 则会返回0。
那么老版本的Redis该如何实现这种功能呢?
在terraform中,常见的输出json字符串或创建json文件的手段是使用流式标记, 如下代码所示:
在复制表时,可以使用CREATE-SELECT来同时复制表结构和数据
1 | CREATE TABLE new_table SELECT * FROM old_table; |
但这样做实际上是有问题的
由于早期数据库设计不合理,需要修改线上数据库表结构,比较麻烦的是新设计将原来的一个表拆成了两个表,并且允许了表之间存在一对多关系。