-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: 增加基于sqlite的数据持久化能力 #33
base: main
Are you sure you want to change the base?
Conversation
路径 MD5 本身主要是为了 一些特殊字符网址的处理, 比如 网址中携带了 ':',在大多数的 redis manager中,会将其解析为 folder。同时怕恶意攻击, 比如用户可能恶意伪造 长路径, 造成一些 大 Key 的问题。 可能可以考虑, 再创建一个 index 表, 以 hash 表的形式存储一个 MD5 对应的 path |
那你这边有什么想法,是你这边来做下改造吗(因为我对这块儿还不是很熟悉) |
https://gitee.com/buru/busuanzi/blob/master/src/main/java/busuanzi/storage/MongoClient.java 官方似乎是用了 MongoDB ?没怎么写过 java, 感觉似乎 还是只能做单项同步备份? 因为目前是切换到 Hyperloglog 上了, 再使用 set 存储应该是不可能了 你觉得要不是 加一个单项的定时备份, 从 redis 同步至 Sqlite ? 然后后期可以提供一个 工具来实现 从数据库中 恢复至 redis 这样? |
MongoDB感觉就没必要了,引入了更大更重的组件,而且这个项目数据不会很多,所以sqlite特别合适,用户后期迁移或者备份也会非常简单。
所以,无论之前是使用的redis,还是什么,都没有引入破坏性影响。比如原来在运行的应用,升级这个新的版本之后,应用启动两分钟后,会把redis的数据sync到sqlite,自此以后,就可以以sqlite的数据为准了。 你那边可以拉一下开发环境,验证一下我说的这个流程,也有可能存在我没想到的地方。 |
等我稍后看下 |
@soxft 老哥有空看一下?我还想着等你这边打了包,部署一下子呢 |
实在不好意思,最近一直在忙实习和毕设答辩。如果你急的话,可以先在 Fork 的仓库 合并自己的修改,然后改一下 WorkFlow 文件, 并在仓库设置中打开 Action 的 R/W 权限,然后发布一个 Release 就会自动触发 Action 的 Build. |
哈哈,没事儿,我再等等吧,主要不太想单独再开出来,或者晚点我看看有时间了自己鼓捣一下也可以 |
增加了数据持久化的能力。
基于sqlite管理,简单,轻便,数据也方便管理。
可能部分逻辑还有问题,作者可进行优化调整。
另外就是,不是特别了解为什么路径之类的信息要做加密处理,其实基于当前数据,我还有一个想法,那就是增加一些丰富的能力,比如增加一个网站访问前十的文章的排序以及他们的浏览量。