C# 在保存到redis之前压缩对象
我刚刚开始研究ss和redis。我正在使用microsoft redis实现。打开压缩后,dump.rdb增长过快 我想保存每秒进程统计数据。示例对象C# 在保存到redis之前压缩对象,c#,compression,redis,
servicestack,C#,Compression,Redis,
servicestack,我刚刚开始研究ss和redis。我正在使用microsoft redis实现。打开压缩后,dump.rdb增长过快 我想保存每秒进程统计数据。示例对象 public class PerfData { public long Id { get; set; } public DateTime TimeStamp { get; set; } public string ProcessName { get; set; } public int ProcessId
public class PerfData
{
public long Id { get; set; }
public DateTime TimeStamp { get; set; }
public string ProcessName { get; set; }
public int ProcessId { get; set; }
public TimeSpan TotalProcessorTime { get; set; }
public TimeSpan UserProcessorTime { get; set; }
public TimeSpan PrivilegedProcessorTime { get; set; }
public float ProcessorTime { get; set; }
public float WorkingSet { get; set; }
}
我已经看到了对客户机进行压缩的建议。这是否意味着我需要将对象转换为这样的对象
public class PerfData
{
public long Id { get; set; }
public DateTime TimeStamp { get; set; }
public byte[] CompressedJson{get;set;}
}
感谢您的建议和纠正。谢谢 中最基本的类是,所有操作都在字节[]
上工作。RedisClient是RedisNativeClient的一个子类,因此您可以强制转换以获得较低级别的API
您需要压缩您的值,该值最终将成为一个字节[]
,您可以直接保存到redis中。您需要执行相反的操作才能再次将其取出,例如检索原始字节[]
值并解压缩
ServiceStack的Redis客户端已经依赖于ServiceStack.Common,它包含压缩/解压缩数据的命令。中最基本的类是所有操作都在字节[]上工作的类。RedisClient是RedisNativeClient的一个子类,因此您可以强制转换以获得较低级别的API
您需要压缩您的值,该值最终将成为一个字节[]
,您可以直接保存到redis中。您需要执行相反的操作才能再次将其取出,例如检索原始字节[]
值并解压缩
ServiceStack的Redis客户端已经依赖于ServiceStack.Common,它包含压缩/解压缩数据的命令