使用StackExchange.Redis的正确方法

这个想法是使用更少的连接和更好的性能。连接是否随时终止?

对于另一个问题,是否_redis.GetDatabase()打开新连接?

private static ConnectionMultiplexer _redis;

private static IDatabase _db;

public RedisCacheProvider(string configuration)

{

if (_redis == null)

lock (myLock)

if (_redis == null)

{

_redis = ConnectionMultiplexer.Connect(configuration);

_db = _redis.GetDatabase();

}

}

public async Task<string> GetString(string key)

{

string result = null;

RedisValue val = await _db.StringGetAsync(key);

if (val.HasValue)

result = val;

return result;

}

回答:

不,多路复用器不会过期。没有GetDatabase不会打开新连接。basics.md涵盖了所有内容

-特别是:

从GetDatabase返回的对象是便宜的直通对象,不需要存储。

以上是 使用StackExchange.Redis的正确方法 的全部内容, 来源链接: utcz.com/qa/435824.html

回到顶部