Yunzai-Bot
Yunzai-Bot copied to clipboard
绑定的UID以及CK经常出现丢失情况
绑定的UID以及CK经常出现丢失情况,需要群员重新绑定,请问要如何避免此类情况发生?是我版本更新太勤的原因吗?好像每次#全部更新后就会大概率出现此情况
我也多次遇到这个问题,每次更新后,cookie和绑定的uid会失效需要重新绑定
我一开始以为是cookie有时限,后来经过测试,每次绑了cookie后,重启Yunzai后cookie就会失效
我也多次遇到这个问题,重启服务器后,绑定的uid会失效,但是主人的不会
最近几天搭的机器人,同样碰到这个问题了,大概看了一下,绑定的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 就好了
我开了持久化一直很正常,今天突然全部ck缓存失效(ck是没有失效的,因为拿上次的ck直接发给机器人是能用的)
如果是用docker-compose,在https://github.com/Le-niao/Yunzai-Bot/issues/557#issuecomment-1241999125 的基础上 需要把daemonize设置成no 在配置个密码requirepass "123456"
然后去yunzai/conf/redis.yaml填上设置好的密码
如果是用docker-compose,在#557 (comment) 的基础上 需要把daemonize设置成no 在配置个密码requirepass "123456"
然后去yunzai/conf/redis.yaml填上设置好的密码
感谢提醒,在docker环境里requirepass并不需要设置,daemonize必须设置成no,否则容器会exit(0)
如果是用docker-compose,在#557 (comment) 的基础上 需要把daemonize设置成no 在配置个密码requirepass "123456" 然后去yunzai/conf/redis.yaml填上设置好的密码
感谢提醒,在docker环境里requirepass并不需要设置,daemonize必须设置成no,否则容器会exit(0)
我没有设置requirepass的时候,会导致redis无法连接,设置后才连接上
如果是用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
好的,谢谢♪(・ω・)ノ
开启AOF持久化 AOF 机制默认处于未开启状态,可以通过修改 Redis 配置文件开启 AOF,如下所示:
- Windows系统 执行如下操作: #修改redis.windows.conf配置文件,把no改为 yes appendonly yes
- Linux系统 执行如下操作: #修改配置文件: vim /etc/redis/redis.conf appendonly yes # 把 no 改为 yes
ck不会掉、但是uid总是掉绑,如何解决,redis持久化也做了