当我启动redis集群的所有redis-server时,所有这些服务器都会不断打印日志,如WSA_IO_PENDING clusterWriteDone
[9956] 03 Feb 18:17:25.044 # WSA_IO_PENDING writing to socket fd --------------------------------------------------------
[9956] 03 Feb 18:17:25.062 # clusterWriteDone written 2520 fd 15-------------------------------------------------------------
[9956] 03 Feb 18:17:25.545 # WSA_IO_PENDING writing to socket fd --------------------------------------------------------
[9956] 03 Feb 18:17:25.568 # WSA_IO_PENDING writing to socket fd -------------------------------------------------------- –
答案 0 :(得分:2)
10个月前官方redis回购中有一个问题是关于这个问题的。不幸的是它似乎被抛弃了,它还没有解决:
Redis cluster print "WSA_IO_PENDING writing to socket..." continuously, does it matter?
然而,正如Cy Rossignol在评论中指出的那样,该问题可能与redis本身无关,而与Windows Sockets API无关。 winsock API将该状态返回给应用程序as seen in the documentation:
WSA_IO_PENDING(997)
重叠操作将在稍后完成。
该应用程序有 启动了无法完成的重叠操作 立即。稍后将给出完成指示 操作已经完成。请注意,此错误由。返回 操作系统,因此错误号可能会在以后的版本中发生变化 视窗。
也许它并没有得到太多的关注,因为它不是一个bug,虽然它确实给洪水系统日志造成了不便。在那种情况下,你可能无法获得帮助。
似乎没有临时修复。 Windows Redis fork已归档,我不知道您是否可以获得任何帮助。
答案 1 :(得分:1)
没有办法专门转变那些"警告"在Redis for Windows的3.2.x端口中关闭,因为日志记录语句使用最高LL_WARNING
级别。这个问题已经在我没有维护的MSOpenTech的回购(我更新到Redis 4.0.2)的分支中报告,并且通过将该级别降低到LL_DEBUG
来修复。更多详情:https://github.com/tporadowski/redis/issues/14
此更改将包含在下一个版本(4.0.2.3)中,您也可以获取最新的源代码并自行构建。
目前的版本可以在这里找到:https://github.com/tporadowski/redis/releases
答案 2 :(得分:0)
转到此位置interface ConstructorProps {
foo: number;
bar: string;
baz: boolean;
}
class MyClass {
foo: number;
bar: string;
baz: boolean;
constructor (props: ConstructorProps) {
this.foo = props.foo;
this.bar = props.bar;
this.baz = props.baz;
}
}
在记事本中打开文件C:\Program Files\Redis
。
您将找到如下所示的部分:
redis.windows-service.conf
在这里,您可以根据自己的要求更改# Specify the server verbosity level.
# This can be one of:
# debug (a lot of information, useful for development/testing)
# verbose (many rarely useful info, but not a mess like the debug level)
# notice (moderately verbose, what you want in production probably)
# warning (only very important / critical messages are logged)
loglevel notice
# Specify the log file name. Also 'stdout' can be used to force
# Redis to log on the standard output.
logfile "Logs/redis_log.txt"
的值。我认为将其更改为loglevel
将解决此问题,因为它只会记录基本错误。