Yunzai-Bot icon indicating copy to clipboard operation
Yunzai-Bot copied to clipboard

绑定的UID以及CK经常出现丢失情况

Open sahajata opened this issue 1 year ago • 5 comments

绑定的UID以及CK经常出现丢失情况,需要群员重新绑定,请问要如何避免此类情况发生?是我版本更新太勤的原因吗?好像每次#全部更新后就会大概率出现此情况

sahajata avatar Sep 03 '22 03:09 sahajata

我也多次遇到这个问题,每次更新后,cookie和绑定的uid会失效需要重新绑定

rose1sblue avatar Sep 05 '22 12:09 rose1sblue

我一开始以为是cookie有时限,后来经过测试,每次绑了cookie后,重启Yunzai后cookie就会失效

onino2001 avatar Sep 05 '22 13:09 onino2001

我也多次遇到这个问题,重启服务器后,绑定的uid会失效,但是主人的不会

793967240 avatar Sep 08 '22 03:09 793967240

最近几天搭的机器人,同样碰到这个问题了,大概看了一下,绑定的uid是写到redis的,重启服务器之后数据就会丢失,修改redis配置文件,将AOF持久化方式也打开就解决了。

比如我的情况,redis默认配置文件在 /etc/redis.conf,打开后修改了文件里这些项(自己在文件里搜索)

daemonize yes

save 900 1 #save 300 10 #save 60 10000

appendonly yes

auto-aof-rewrite-min-size 1gb

然后redis启动的时候传入配置文件路径,比如redis-server /etc/redis.conf 就好了

isayamayomi avatar Sep 09 '22 13:09 isayamayomi

我开了持久化一直很正常,今天突然全部ck缓存失效(ck是没有失效的,因为拿上次的ck直接发给机器人是能用的)

ghostcatu avatar Sep 21 '22 02:09 ghostcatu

如果是用docker-compose,在https://github.com/Le-niao/Yunzai-Bot/issues/557#issuecomment-1241999125 的基础上 需要把daemonize设置成no 在配置个密码requirepass "123456"

然后去yunzai/conf/redis.yaml填上设置好的密码

keaiye avatar Sep 24 '22 14:09 keaiye

如果是用docker-compose,在#557 (comment) 的基础上 需要把daemonize设置成no 在配置个密码requirepass "123456"

然后去yunzai/conf/redis.yaml填上设置好的密码

感谢提醒,在docker环境里requirepass并不需要设置,daemonize必须设置成no,否则容器会exit(0)

SirlyDreamer avatar Sep 26 '22 00:09 SirlyDreamer

如果是用docker-compose,在#557 (comment) 的基础上 需要把daemonize设置成no 在配置个密码requirepass "123456" 然后去yunzai/conf/redis.yaml填上设置好的密码

感谢提醒,在docker环境里requirepass并不需要设置,daemonize必须设置成no,否则容器会exit(0)

我没有设置requirepass的时候,会导致redis无法连接,设置后才连接上

keaiye avatar Sep 26 '22 01:09 keaiye

如果是用docker-compose,在#557 (comment) 的基础上 需要把daemonize设置成no 在配置个密码requirepass "123456" 然后去yunzai/conf/redis.yaml填上设置好的密码

感谢提醒,在docker环境里requirepass并不需要设置,daemonize必须设置成no,否则容器会exit(0)

我没有设置requirepass的时候,会导致redis无法连接,设置后才连接上

这是因为设置了protected-mode yes,非redis容器的连接不论如何都需要提供密码,设置为no即可解决。这里不必担心redis容器的安全性问题,默认情况下没有映射端口,外部无法访问容器的redis。

我将常见问题做了个总结,请查看https://github.com/SirlyDreamer/Yunzai-Bot/issues/23

SirlyDreamer avatar Sep 26 '22 01:09 SirlyDreamer

好的,谢谢♪(・ω・)ノ

keaiye avatar Sep 26 '22 01:09 keaiye

开启AOF持久化 AOF 机制默认处于未开启状态,可以通过修改 Redis 配置文件开启 AOF,如下所示:

  1. Windows系统 执行如下操作: #修改redis.windows.conf配置文件,把no改为 yes appendonly yes
  2. Linux系统 执行如下操作: #修改配置文件: vim /etc/redis/redis.conf appendonly yes # 把 no 改为 yes

kikasyou avatar Oct 03 '22 08:10 kikasyou

ck不会掉、但是uid总是掉绑,如何解决,redis持久化也做了

AlmightyKa avatar Oct 25 '22 02:10 AlmightyKa