soxft / busuanzi

A simple website statistics analyzer
https://busuanzi.9420.ltd
Apache License 2.0
170 stars 24 forks source link

修改数据 #25

Closed willow-god closed 5 months ago

willow-god commented 6 months ago

您好,尊敬的开发者,我使用您提供的busuanzi并用docker方式部署,最终成功,但是我想将我之前的数据转过来,请问怎么转呀?redis我用的不是很熟练,我尝试使用您提到的管理页面,但是我并没有看到管理页面的使用方法,请问可以出一个大概的教程吗?如果不麻烦的话

soxft commented 6 months ago

https://github.com/soxft/busuanzi/issues/23 可以先参考一下这个issues

willow-god commented 6 months ago

23 可以先参考一下这个issues

嗯嗯,我已经看过了,但是我之前用的是官方的busuanzi,最近才自建,我不知道怎么导出那个数据,我尝试用您提供的工具转成JSON,但是里面全是md5编码,我不知道从哪里改起,我也不知道md5是用哪一串字符串加密的,我解密不开🥺🥺🥺

soxft commented 6 months ago

官方的不蒜子 应该没有提供数据导出吧,, 如果想迁移原来的数据, 可以试试我朋友写的

https://busuanzi.icodeq.com/

soxft commented 6 months ago

如果是迁移busuanzi的话 可以试下

  1. docker exec -it bsz-test-redis-1 redis-cli SAVE 将redis写入 dump.rdb 中
  2. 保存 ./data/redis/dump.rdb
  3. 在新服务器上 重新通过docker-compose 启动服务后 停止服务
  4. 复制 dump.rdb 到新服务器的 ./data/redis 下 替换dump.rdb
  5. 重新使用 docker compose up -d 启动服务器
willow-god commented 6 months ago

如果是迁移busuanzi的话 可以试下

  1. docker exec -it bsz-test-redis-1 redis-cli SAVE 将redis写入 dump.rdb 中
  2. 保存 ./data/redis/dump.rdb
  3. 在新服务器上 重新通过docker-compose 启动服务后 停止服务
  4. 复制 dump.rdb 到新服务器的 ./data/redis 下 替换dump.rdb
  5. 重新使用 docker compose up -d 启动服务器

大佬请问这个支持直接修改数据吗?我看您的readme中给了一个gui修改的方法,我还以为有什么接口,我看那个issue中也提到了可以通过修改Redis来恢复其他接口的数据,但是我打开rdb文件后好像是加密了的

soxft commented 6 months ago

RDB 文件是 redis 的数据文件,不应该直接打开,可以尝试使用类似的工具 将rdb文件中中的数据 提取出来 进行修改后重新导入,也可以借助 redis管理工具 进行修改

willow-god commented 6 months ago

RDB 文件是 redis 的数据文件,不应该直接打开,可以尝试使用类似的工具 将rdb文件中中的数据 提取出来 进行修改后重新导入,也可以借助 redis管理工具 进行修改

嗯呢,是的,我就使用您提供的工具打开了,但是里面好像是MD5加密的结果,我看不懂其中的信息,请问怎么改呀?

soxft commented 6 months ago

RDB 文件是 redis 的数据文件,不应该直接打开,可以尝试使用类似的工具 将rdb文件中中的数据 提取出来 进行修改后重新导入,也可以借助 redis管理工具 进行修改

嗯呢,是的,我就使用您提供的工具打开了,但是里面好像是MD5加密的结果,我看不懂其中的信息,请问怎么改呀?

可以看一下 这个文件 https://github.com/soxft/busuanzi/blob/main/core/count.go

对于一个网址可能会有四个key, 用 https://example.com/index.html 举例

index 数据类型 key
sitePv string bsz:site_pv:md5(example.com)
siteUv set bsz:site_uv:md5(example.com)
pagePv zset bsz:page_pv:md5(example.com)
pageUv set bsz:site_uv:md5(example.com):md5(example.com&index.html)
willow-god commented 6 months ago

可以看一下 这个文件 https://github.com/soxft/busuanzi/blob/main/core/count.go

对于一个网址可能会有四个key, 用 https://example.com/index.html 举例

index 数据类型 key sitePv string bsz:site_pv:md5(example.com) siteUv set bsz:site_uv:md5(example.com) pagePv zset bsz:page_pv:md5(example.com) pageUv set bsz:site_uv:md5(example.com):md5(example.com&index.html)

好的!感谢您的回复!我再研究研究!实在打扰了!

soxft commented 6 months ago

没事的 有什么问题可以直接问,但是回复的话可能会稍微慢些