本文整理汇总了C#中IRedisClientsManager.GetClient方法的典型用法代码示例。如果您正苦于以下问题:C# IRedisClientsManager.GetClient方法的具体用法?C# IRedisClientsManager.GetClient怎么用?C# IRedisClientsManager.GetClient使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IRedisClientsManager
的用法示例。
在下文中一共展示了IRedisClientsManager.GetClient方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: UseClientAsync
private static void UseClientAsync(IRedisClientsManager manager, int clientNo)
{
using (var client = manager.GetClient())
{
UseClient(client, clientNo);
}
}
示例2: RedisHelper
static RedisHelper()
{
try
{
RedisClientManagerConfig RedisConfig = new RedisClientManagerConfig();
RedisConfig.AutoStart = true;
RedisConfig.MaxReadPoolSize = 60;
RedisConfig.MaxWritePoolSize = 60;
var hostWrite = System.Configuration.ConfigurationManager.AppSettings["RedisServerWrite"];
var arryWrite = hostWrite.Split(';').ToList();
var hostRead = System.Configuration.ConfigurationManager.AppSettings["RedisServerRead"];
var arryRead = hostWrite.Split(';').ToList();
if (arryWrite.Count > 0 && arryRead.Count > 0)
{
prcm = new PooledRedisClientManager(arryWrite, arryRead, RedisConfig);
redisClient = prcm.GetClient();
}
else
{
throw new Exception("连接服务器失败,请检查配置文件");
}
}
catch
{
throw new Exception("连接服务器失败,请检查配置文件");
}
}
示例3: RegisterLuaScript
public static string RegisterLuaScript(IRedisClientsManager clientManager)
{
using (var client = clientManager.GetClient())
{
string scriptSha1 = client.LoadLuaScript(GetLuaScript());
return scriptSha1;
}
}
示例4: AssertClientManager
private static void AssertClientManager(IRedisClientsManager redisManager, RedisEndpoint expected)
{
using (var readWrite = (RedisClient) redisManager.GetClient())
using (var readOnly = (RedisClient) redisManager.GetReadOnlyClient())
using (var cacheClientWrapper = (RedisClientManagerCacheClient) redisManager.GetCacheClient())
{
AssertClient(readWrite, expected);
AssertClient(readOnly, expected);
using (var cacheClient = (RedisClient) cacheClientWrapper.GetClient())
{
AssertClient(cacheClient, expected);
}
}
}
示例5: ExecOnceOnly
public ExecOnceOnly(IRedisClientsManager redisManager, string hashKey, string correlationId)
{
redisManager.ThrowIfNull("redisManager");
hashKey.ThrowIfNull("hashKey");
this.hashKey = hashKey;
this.correlationId = correlationId;
if (correlationId != null)
{
redis = redisManager.GetClient();
var exists = !redis.SetEntryInHashIfNotExists(hashKey, correlationId, Flag);
if (exists)
throw HttpError.Conflict("Request {0} has already been processed".Fmt(correlationId));
}
}
示例6: LogErrorInRedisIfExists
public static void LogErrorInRedisIfExists(
IRedisClientsManager redisManager, string operationName, ResponseStatus responseStatus)
{
//If Redis is configured, maintain rolling service error logs in Redis (an in-memory datastore)
if (redisManager == null) return;
try
{
//Get a thread-safe redis client from the client manager pool
using (var client = redisManager.GetClient())
{
//Get a client with a native interface for storing 'ResponseStatus' objects
var redis = client.GetTypedClient<ResponseStatus>();
//Store the errors in predictable Redis-named lists i.e.
//'urn:ServiceErrors:{ServiceName}' and 'urn:ServiceErrors:All'
var redisSeriviceErrorList = redis.Lists[UrnId.Create(UrnServiceErrorType, operationName)];
var redisCombinedErrorList = redis.Lists[UrnId.Create(UrnServiceErrorType, CombinedServiceLogId)];
//Append the error at the start of the service-specific and combined error logs.
redisSeriviceErrorList.Prepend(responseStatus);
redisCombinedErrorList.Prepend(responseStatus);
//Clip old error logs from the managed logs
const int rollingErrorCount = 1000;
redisSeriviceErrorList.Trim(0, rollingErrorCount);
redisCombinedErrorList.Trim(0, rollingErrorCount);
}
}
catch (Exception suppressRedisException)
{
Log.Error("Could not append exception to redis service error logs", suppressRedisException);
}
}
示例7: UseClient
private static void UseClient(IRedisClientsManager manager, int clientNo, Dictionary<string, int> hostCountMap)
{
using (var client = manager.GetClient())
{
lock (hostCountMap)
{
int hostCount;
if (!hostCountMap.TryGetValue(client.Host, out hostCount))
{
hostCount = 0;
}
hostCountMap[client.Host] = ++hostCount;
}
Debug.WriteLine(String.Format("Client '{0}' is using '{1}'", clientNo, client.Host));
}
}
示例8: InitializeEmptyRedisManagers
private static void InitializeEmptyRedisManagers(IRedisClientsManager redisManager, string[] masters, string[] slaves)
{
var hasResolver = (IHasRedisResolver)redisManager;
hasResolver.RedisResolver.ResetMasters(masters);
hasResolver.RedisResolver.ResetSlaves(slaves);
using (var master = redisManager.GetClient())
{
Assert.That(master.GetHostString(), Is.EqualTo(masters[0]));
master.SetValue("KEY", "1");
}
using (var slave = redisManager.GetReadOnlyClient())
{
Assert.That(slave.GetHostString(), Is.EqualTo(slaves[0]));
Assert.That(slave.GetValue("KEY"), Is.EqualTo("1"));
}
}