feat: 增加基于sqlite的数据持久化能力
增加了数据持久化的能力。 基于sqlite管理,简单,轻便,数据也方便管理。 可能部分逻辑还有问题,作者可进行优化调整。
另外就是,不是特别了解为什么路径之类的信息要做加密处理,其实基于当前数据,我还有一个想法,那就是增加一些丰富的能力,比如增加一个网站访问前十的文章的排序以及他们的浏览量。
路径 MD5 本身主要是为了 一些特殊字符网址的处理, 比如 网址中携带了 ':',在大多数的 redis manager中,会将其解析为 folder。同时怕恶意攻击, 比如用户可能恶意伪造 长路径, 造成一些 大 Key 的问题。
可能可以考虑, 再创建一个 index 表, 以 hash 表的形式存储一个 MD5 对应的 path
那你这边有什么想法,是你这边来做下改造吗(因为我对这块儿还不是很熟悉) 另外我发现从官方busuanzi同步下来的数据,貌似会比实际展示的少一点,感觉busuanzi官方也是有定时任务往持久存储里刷的。
那你这边有什么想法,是你这边来做下改造吗(因为我对这块儿还不是很熟悉) 另外我发现从官方busuanzi同步下来的数据,貌似会比实际展示的少一点,感觉busuanzi官方也是有定时任务往持久存储里刷的。
https://gitee.com/buru/busuanzi/blob/master/src/main/java/busuanzi/storage/MongoClient.java 官方似乎是用了 MongoDB ?没怎么写过 java, 感觉似乎 还是只能做单项同步备份? 因为目前是切换到 Hyperloglog 上了, 再使用 set 存储应该是不可能了
你觉得要不是 加一个单项的定时备份, 从 redis 同步至 Sqlite ? 然后后期可以提供一个 工具来实现 从数据库中 恢复至 redis 这样?
你觉得要不是 加一个单项的定时备份, 从 redis 同步至 Sqlite ? 然后后期可以提供一个 工具来实现 从数据库中 恢复至 redis 这样?
MongoDB感觉就没必要了,引入了更大更重的组件,而且这个项目数据不会很多,所以sqlite特别合适,用户后期迁移或者备份也会非常简单。 然后我说下本地提交代码的思路:
- 项目启动之后,会从数据库读取数据,然后把数据刷到redis里边(是增量)。
- 每两分钟会读一下redis的数据,往数据库对齐一下。
- 应用关闭时,也会执行一次sync。
所以,无论之前是使用的redis,还是什么,都没有引入破坏性影响。比如原来在运行的应用,升级这个新的版本之后,应用启动两分钟后,会把redis的数据sync到sqlite,自此以后,就可以以sqlite的数据为准了。
你那边可以拉一下开发环境,验证一下我说的这个流程,也有可能存在我没想到的地方。
你觉得要不是 加一个单项的定时备份, 从 redis 同步至 Sqlite ? 然后后期可以提供一个 工具来实现 从数据库中 恢复至 redis 这样?
MongoDB感觉就没必要了,引入了更大更重的组件,而且这个项目数据不会很多,所以sqlite特别合适,用户后期迁移或者备份也会非常简单。 然后我说下本地提交代码的思路:
- 项目启动之后,会从数据库读取数据,然后把数据刷到redis里边(是增量)。
- 每两分钟会读一下redis的数据,往数据库对齐一下。
- 应用关闭时,也会执行一次sync。
所以,无论之前是使用的redis,还是什么,都没有引入破坏性影响。比如原来在运行的应用,升级这个新的版本之后,应用启动两分钟后,会把redis的数据sync到sqlite,自此以后,就可以以sqlite的数据为准了。
你那边可以拉一下开发环境,验证一下我说的这个流程,也有可能存在我没想到的地方。
等我稍后看下
@soxft 老哥有空看一下?我还想着等你这边打了包,部署一下子呢
@soxft 老哥有空看一下?我还想着等你这边打了包,部署一下子呢
实在不好意思,最近一直在忙实习和毕设答辩。如果你急的话,可以先在 Fork 的仓库 合并自己的修改,然后改一下 WorkFlow 文件, 并在仓库设置中打开 Action 的 R/W 权限,然后发布一个 Release 就会自动触发 Action 的 Build.
@soxft 老哥有空看一下?我还想着等你这边打了包,部署一下子呢
实在不好意思,最近一直在忙实习和毕设答辩。如果你急的话,可以先在 Fork 的仓库 合并自己的修改,然后改一下 WorkFlow 文件, 并在仓库设置中打开 Action 的 R/W 权限,然后发布一个 Release 就会自动触发 Action 的 Build.
哈哈,没事儿,我再等等吧,主要不太想单独再开出来,或者晚点我看看有时间了自己鼓捣一下也可以
作者你好,我这边打算自建busuanzi了,然后想请教下,你现在这个页面的代码是又单独调整过吗,是否方便分享下:
作者你好,我这边打算自建busuanzi了,然后想请教下,你现在这个页面的代码是又单独调整过吗,是否方便分享下:
![]()
https://github.com/soxft/busuanzi-frontend
在这里,但是可能要自己摸索一下,适配的是 vercel
作者你好,我这边打算自建busuanzi了,然后想请教下,你现在这个页面的代码是又单独调整过吗,是否方便分享下:
在这里,但是可能要自己摸索一下,适配的是 vercel
尝试构建了一下,失败了。是否方便单独分享下这个html文件,我这边没有打成功
作者你好,我这边打算自建busuanzi了,然后想请教下,你现在这个页面的代码是又单独调整过吗,是否方便分享下:
soxft/busuanzi-frontend 在这里,但是可能要自己摸索一下,适配的是 vercel
尝试构建了一下,失败了。是否方便单独分享下这个html文件,我这边没有打成功
提示什么呢,这个得在 vercel 部署,不能静态打包,静态的话要自己改一下
实测 site_uv 在这个场景里不太成立,忽略这个pr吧。
