3

我使用 AppHarbor 作为 CI 环境来验证我的提交。我在 AppHarbor 中遇到错误,因为 Redis 无法写入磁盘。

错误:

[RedisResponseException: MISCONF Redis 被配置为保存 RDB 快照,但目前无法持久保存在磁盘上。可能修改数据集的命令被禁用。有关错误的详细信息,请查看 Redis 日志。,sPort:58823,LastCommand:]
   ServiceStack.Redis.RedisNativeClient.CreateResponseError(字符串错误)+133
   ServiceStack.Redis.RedisNativeClient.ExpectSuccess() +135
   ServiceStack.Redis.RedisNativeClient.SendExpectSuccess(Byte[][] cmdWithBinaryArgs) +88
   ServiceStack.Redis.RedisNativeClient.SetEx(String key, Int32 expireInSeconds, Byte[] value) +153
   ServiceStack.Redis.RedisClient.SetEntry(String key, String value, TimeSpan expireIn) +62

我在 AppHarbor 上启用了磁盘写入,这就是我通过代码启动 Redis 的方式:

var startInfo = new ProcessStartInfo(redisPath, conf);
startInfo.WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory;
startInfo.WindowStyle = ProcessWindowStyle.Minimized;
startInfo.UseShellExecute = false;
var proc = Process.Start(startInfo);

在我的 redis.conf 中,我将 DB 目录作为 App_Data

dir ./App_Data

它在本地按预期工作(RDB 保存到 App_Data 中)。有人以前见过这个或知道解决方法吗?

4

0 回答 0