这个想法是使用更少的连接和更好的性能。
连接会随时过期吗?
对于另一个问题,_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;
}
不,多路复用器不会过期。 No GetDatabase 不会打开新连接。这全部涵盖在基础知识.md https://github.com/StackExchange/StackExchange.Redis/blob/master/docs/Basics.md- 尤其:
从 GetDatabase 返回的对象是一个廉价的传递对象,不需要存储。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)