首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用StackExchange.Redis通过redis连接到redis缓存?

如何使用StackExchange.Redis通过redis连接到redis缓存?
EN

Stack Overflow用户
提问于 2020-01-01 11:05:41
回答 1查看 2.1K关注 0票数 0

目前,我正在使用ServiceStack.Redis连接到Redis服务器。redis缓存URL结构类似于:redis://f:UIOPabcdXYZ@ip-172-31-81-144.manager.{domain}.io:33004

下面是使用ServiceStack.Redis连接到Redis的示例代码

代码语言:javascript
复制
var redisClientManagerPool = new RedisManagerPool(ConfigManager.RedisCacheUrl);

using (var client = redisClientManagerPool.GetClient())
{
    //SetClientData(key, client, data);
}

但是免费版本有一定的限制,一旦达到限制,就会产生错误,例如

已经达到了每小时6000个红宝石请求的免费配额限制.请参阅https://servicestack.net以升级为商业许可,或访问https://github.com/ServiceStackV3/ServiceStackV3以恢复到免费的ServiceStack v3

我想使用StackExchange.Redis连接到redis缓存。但我没有得到任何代码参考如何使用来自https://stackexchange.github.io/StackExchange.Redis/Basics的redis。

我正在寻找任何代码引用来使用redis缓存URL,如redis://f:UIOPabcdXYZ@ip-172-31-81-144.manager.domain.io:33004,通过使用StackExchange.Redis nuget连接到redis缓存服务器。任何帮助都是非常感谢的。

注意:当前使用的库是.NET标准2.0版本的ServiceStack.Redis。nuget的名称是ServiceStack.Redis.Core版本5.7.0。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-03 08:04:38

StackExchange.Redis适用于redis://f:UIOPabcdXYZ@ip-172-31-81-144.manager.{domain}.io:33004 URL格式。下面是代码参考:

代码语言:javascript
复制
var url = "redis://f:UIOPabcdXYZ@ip-172-31-81-144.manager.{domain}.io:33004";
var urlParts = url.Split("@ip-");
var password = urlParts[0].Split("redis://f:")[1].Trim();
var host = "ip-" + urlParts[1].Split(":")[0].Trim();
var port = int.Parse(urlParts[1].Split(":")[1].Trim());
var redisConfigurationOptions = new ConfigurationOptions
{
    AllowAdmin = false,
    Ssl = false,
    Password = password,
    EndPoints = {
                    {  host, port }
                }
};

var conn = ConnectionMultiplexer.Connect(redisConfigurationOptions);
var client = conn.GetDatabase();
client.StringSet(cacheKey, Newtonsoft.Json.JsonConvert.SerializeObject(data), TimeSpan.FromMinutes(30));

//To retrieve data
if (client.KeyExists(cacheKey))
{    
   var outputString = client.StringGet(cacheKey).ToString();    
}
else
{
  //cacheKey doesn't exists
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59551946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档