草庐IT

StackExchange

全部标签

c# - 在 StackExchange.Redis 中执行搜索

我正在使用StackExchange.NetRedis提供程序来存储和检索值。我想知道如何在Redis中搜索某些记录(与任何数据库一样,搜索需要在Redis实例中执行,而不是在.Net应用程序中执行)例子:publicclassEmployee{publicstringFirstName{get;set;}publicstringLastName{get;set;}publicintAge{get;set;}publicintSalary{get;set;}}如果我在Redis缓存服务器中有100,000条员工记录存储为.Net“ListlstEmployee=newList();”,

redis - Stackexchange.Redis为什么ConnectionMultiplexer.Connect建立两个客户端连接?

我很好奇为什么ConnectionMultiplexer.Connect(options)尝试将2个客户端而不是1个客户端连接到RedisDB?每次连接时,我都会看到另外2个客户端连接到我的RedisDB。 最佳答案 因为redis需要单独的连接用于交互式命令与发布/订阅订阅。如果您不使用发布/订阅,您可以告诉选项禁用SUBSCRIBE命令,在这种情况下,我相信没有建立第二个连接。 关于redis-Stackexchange.Redis为什么ConnectionMultiplexer.C

redis - Stackexchange.Redis为什么ConnectionMultiplexer.Connect建立两个客户端连接?

我很好奇为什么ConnectionMultiplexer.Connect(options)尝试将2个客户端而不是1个客户端连接到RedisDB?每次连接时,我都会看到另外2个客户端连接到我的RedisDB。 最佳答案 因为redis需要单独的连接用于交互式命令与发布/订阅订阅。如果您不使用发布/订阅,您可以告诉选项禁用SUBSCRIBE命令,在这种情况下,我相信没有建立第二个连接。 关于redis-Stackexchange.Redis为什么ConnectionMultiplexer.C

redis - 使用 StackExchange.Redis 的 RedisTimeoutException 突发

我正在尝试使用StackExchangeRedis库追踪间歇性的“突发”超时。以下是关于我们的设置的一些信息:我们的API是用C#编写的,在Windows2008和IIS上运行。我们在生产中有4个API服务器,我们有4个Redis机器(运行Linux最新的LTS),每个都有2个Redis实例(一个主服务器在端口7000上,一个从服务器在端口7001上)。我几乎查看了Redis服务器的各个方面,它们看起来棒极了。日志中没有错误,CPU和网络都很好,服务器端的一切看起来都很棒。我可以在发生这种情况时tail-fRedis日志,并且看不到任何异常情况(例如重写AOF文件或任何内容)。我认为问

redis - 使用 StackExchange.Redis 的 RedisTimeoutException 突发

我正在尝试使用StackExchangeRedis库追踪间歇性的“突发”超时。以下是关于我们的设置的一些信息:我们的API是用C#编写的,在Windows2008和IIS上运行。我们在生产中有4个API服务器,我们有4个Redis机器(运行Linux最新的LTS),每个都有2个Redis实例(一个主服务器在端口7000上,一个从服务器在端口7001上)。我几乎查看了Redis服务器的各个方面,它们看起来棒极了。日志中没有错误,CPU和网络都很好,服务器端的一切看起来都很棒。我可以在发生这种情况时tail-fRedis日志,并且看不到任何异常情况(例如重写AOF文件或任何内容)。我认为问

redis - 在 .NET Core 依赖注入(inject)中, `StackExchange.Redis.ConnectionMultiplexer` 应该是 `AddSingleton` 还是 `AddScope`?

我正在使用StackExchange.Redis添加到.NETCore的Redis连接,它目前看起来像这样:publicstaticIServiceCollectionAddRedisMultiplexer(thisIServiceCollectionservices,FuncgetOptions=null){//Gettheoptionsorassumelocalhost,asthesewillbesetinStartup.ConfigureServicesassumetheywon'tchangevaroptions=getOptions?.Invoke()??Configurat

redis - 在 .NET Core 依赖注入(inject)中, `StackExchange.Redis.ConnectionMultiplexer` 应该是 `AddSingleton` 还是 `AddScope`?

我正在使用StackExchange.Redis添加到.NETCore的Redis连接,它目前看起来像这样:publicstaticIServiceCollectionAddRedisMultiplexer(thisIServiceCollectionservices,FuncgetOptions=null){//Gettheoptionsorassumelocalhost,asthesewillbesetinStartup.ConfigureServicesassumetheywon'tchangevaroptions=getOptions?.Invoke()??Configurat

asp.net - Web场景下StackExchange.Redis ConnectionMultiplexer生命周期管理

Web场景下ConnectionMultiplexer实例正确的生命周期管理是什么。据我了解,它通过流水线管理单个请求,从而减少延迟造成的负面影响。这是否意味着在Web应用程序中,ConnectionMultiplexer应该用作单例而不是更频繁使用的请求范围? 最佳答案 从本质上讲,是的——您应该很少需要一个以上的多路复用器来连接相同的Redis节点。这也描述了here.请注意,来自GetDatabase的database对象非常便宜,如果需要,可以按请求或按方法范围(per-rewuest非常适合不同租户在不同数据库编号的Mul

asp.net - Web场景下StackExchange.Redis ConnectionMultiplexer生命周期管理

Web场景下ConnectionMultiplexer实例正确的生命周期管理是什么。据我了解,它通过流水线管理单个请求,从而减少延迟造成的负面影响。这是否意味着在Web应用程序中,ConnectionMultiplexer应该用作单例而不是更频繁使用的请求范围? 最佳答案 从本质上讲,是的——您应该很少需要一个以上的多路复用器来连接相同的Redis节点。这也描述了here.请注意,来自GetDatabase的database对象非常便宜,如果需要,可以按请求或按方法范围(per-rewuest非常适合不同租户在不同数据库编号的Mul

c# - StackExchange.Redis 中是否提供原始命令?

StackExchange.Redis中是否有任何功能可以让您直接执行原始命令?就像我会在命令中提供一个字符串,例如(下面的假设代码):conn.Send("ZADDmysortedset1john");我知道几乎每个命令都有可用的方法,包括ZADD,但这不是重点。 最佳答案 “模块”的引入使这变得更加相关;此API现在存在于Execute(...)中。请参阅:http://blog.marcgravell.com/2017/04/stackexchangeredis-and-redis-40-modules.html之前:目前没有