コード例 #1
0
ファイル: Program.cs プロジェクト: linchangsheng89/FreeRedis
 public static void NewSocketRedis9SetTest()
 {
     RunAction((key) =>
     {
         return(_redisClient9.SetAsync(key, key));
     }, "NewRedis9");
 }
コード例 #2
0
        public override Task <bool> SetAsync(string key, string value)
        {
            var bytes      = Encoding.UTF8.GetBytes($"*3\r\n$3\r\nSET\r\n${key.Length}\r\n{key}\r\n${value.Length}\r\n{value}\r\n");
            var taskSource = new TaskCompletionSource <bool>(null, TaskCreationOptions.RunContinuationsAsynchronously).Task;

            if (TryGetSendLock())
            {
                _receiverQueue.Enqueue(taskSource, bytes);
                ReleaseSend();
                return(taskSource);
            }
            else
            {
                return(newRedisClient9.SetAsync(key, value));
            }
        }