当前位置: 首页 > 编程笔记 >

StackExchange.Redis 将线程集中的所有命令组合在一起

魏书
2023-03-14
本文向大家介绍StackExchange.Redis 将线程集中的所有命令组合在一起,包括了StackExchange.Redis 将线程集中的所有命令组合在一起的使用技巧和注意事项,需要的朋友参考一下

示例

class ToyProfiler : IProfiler
{
    public ConcurrentDictionary<Thread, object> Contexts = new ConcurrentDictionary<Thread, object>();

    public object GetContext()
    {
        object ctx;
        if(!Contexts.TryGetValue(Thread.CurrentThread, out ctx)) ctx = null;

        return ctx;
    }
}


// ...

ConnectionMultiplexer conn = /* initialization */;
var profiler = new ToyProfiler();
var thisGroupContext = new object();conn.RegisterProfiler(profiler);

var threads = new List<Thread>();

for (var i = 0; i < 16; i++)
{
    var db = conn.GetDatabase(i);

    var thread =
        new Thread(            delegate()
            {
                var threadTasks = new List<Task>();

                for (var j = 0; j < 1000; j++)
                {
                    var task = db.StringSetAsync("" + j, "" + j);                    threadTasks.Add(task);
                }

                Task.WaitAll(threadTasks.ToArray());
            }
        );

    profiler.Contexts[thread] = thisGroupContext;    threads.Add(thread);
}conn.BeginProfiling(thisGroupContext);

threads.ForEach(thread => thread.Start());
threads.ForEach(thread => thread.Join());

IEnumerable<IProfiledCommand> timings = conn.FinishProfiling(thisGroupContext);

最后,计时将包含16,000个IProfiledCommand对象-每个发布给redis的命令一个。

 类似资料:
  • 本文向大家介绍StackExchange.Redis 根据发布线程对命令进行分组,包括了StackExchange.Redis 根据发布线程对命令进行分组的使用技巧和注意事项,需要的朋友参考一下 示例 perThreadTimings 最终以1,000个IProfilingCommands的16个条目结束,由发出它们的线程键入。

  • 问题内容: 我需要获取数组的所有可能的子集,其中至少要包含2个项目,而最大未知数。有人可以帮助我一点吗? 说我有这个… …我怎么得到这个? 问题答案: 窃取此JavaScript组合生成器后,我添加了一个参数以提供最小长度,从而, 要使用,提供一个数组以及所需的最小子集长度, 输出是

  • 我正在使用Firebase Firestore作为BaaS构建一个应用程序。 但当我尝试在我的应用程序上创建提要/实现全文搜索时,我面临一个问题。 我希望能够搜索所有用户的帖子,问题是,用户帖子在Firestore数据库中的结构如下: 帖子(收藏)- 我想遍历每个用户的用户帖子子集合并获取提要的所有数据,并使用Algolia或ES等全文搜索应用程序来实现它。 > 我可以遍历特定的用户ID(代码如下

  • 我所处的情况是,当用户付款时,存储在Firestore集合(CartProducts)中的购物车产品应移动到名为SuccessFullOrders的新集合。 因此,我的基本问题是如何在Flutter中将所有文档从一个集合移动到Firestore的另一个集合 我不知道如何在flutter中编写代码。谢谢你的回答 这是我的代码

  • 本文向大家介绍cmd组合和管道命令的使用方法(命令组合),包括了cmd组合和管道命令的使用方法(命令组合)的使用技巧和注意事项,需要的朋友参考一下 1.& Usage:第一条命令 & 第二条命令 [& 第三条命令...] 用这种方法可以同时执行多条命令,而不管命令是否执行成功 Sample: C:/>dir z: & dir c:/Ex4rch The system cannot find the

  • 本文向大家介绍在Java中将数组转换为集合的程序,包括了在Java中将数组转换为集合的程序的使用技巧和注意事项,需要的朋友参考一下 假设以下是我们的字符串数组- 现在,将数组转换为使用HashSet进行设置- 示例 以下是在Java中将Array转换为Set的程序- 输出结果