gpt4 book ai didi

c# - 设置一个 zip 文件到 redis 缓存

转载 作者:可可西里 更新时间:2023-11-01 11:47:28 28 4
gpt4 key购买 nike

我的问题是将 zip 文件保存并读取到位于 Azure 上的 Redis 缓存数据库。我用 StackExchange.Redis 尝试了一些东西,但我没有成功。您知道这方面的任何示例或解决方案吗?

我的代码就是这样。对于这段代码,我遇到了超时错误。

ConnectionMultiplexer connection = ConnectionMultiplexer.Connect("filecache.redis.cache.windows.net:6380,password=123,ssl=True,abortConnect=False");          
IDatabase cache = connection.GetDatabase();

byte[] fileBytes = File.ReadAllBytes(@"c:\test.zip");
var str = Convert.ToBase64String(fileBytes);
cache.StringSet("f1", str);
var key1 = cache.StringGet("f1");

这是错误:

StackExchange.Redis.RedisTimeoutException occurred HResult=0x80131505 Message=Timeout performing SET f1, inst: 0, mgr: Inactive, err: never, queue: 2, qu: 1, qs: 1, qc: 0, wr: 1, wq: 1, in: 0, ar: 0, clientName: NLBRLT-MCOPUR, serverEndpoint: Unspecified/BatchReportCache.redis.cache.windows.net:6380, keyHashSlot: 2046, IOCP: (Busy=0,Free=1000,Min=4,Max=1000), WORKER: (Busy=0,Free=2047,Min=4,Max=2047) (Please take a look at this article for some common client-side issues that can cause timeouts: http://stackexchange.github.io/StackExchange.Redis/Timeouts) Source=StackExchange.Redis

最佳答案

首先,我不建议你上传大文件到redis缓存。

出现此错误的原因是您将大文件上传到redis 缓存。上传文件和满足连接限制需要很多时间。

Redis 是为小容量缓存设计的,而不是大文件,如果你想上传大文件,请使用 azure 存储。更详细的可以引用这个article .

如果您仍然想上传大文件到它,您可以更改连接字符串中的 synctimeout 值。

改成这样:

ynctimeout=100000(this value is about when your request will time out),{redisname}.redis.cache.windows.net:6380,password={key},ssl=True,abortConnect=False

旁边的测试演示。

将zip上传到redis需要将近20秒。

enter image description here

关于c# - 设置一个 zip 文件到 redis 缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46566546/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com