ServiceStack.Redis常用操作 - 事务并发锁_转

Posted 无恨星晨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ServiceStack.Redis常用操作 - 事务并发锁_转相关的知识,希望对你有一定的参考价值。

一、事务

  使用IRedisClient执行事务示例:

using (IRedisClient RClient = prcm.GetClient())
    {
        RClient.Add("key",1);
        using (IRedisTransaction IRT = RClient.CreateTransaction())
        {
            IRT.QueueCommand(r => r.Set("key", 20));
            IRT.QueueCommand(r => r.Increment("key",1)); 

            IRT.Commit(); // 提交事务
        }
        Response.Write(RClient.Get<string>("key"));
    }

  

二、并发锁

  使用IRedisClient申请锁示例:

using (IRedisClient RClient = prcm.GetClient())
    {
        RClient.Add("mykey",1);
        // 支持IRedisTypedClient和IRedisClient
        using (RClient.AcquireLock("testlock")) 
        {
            Response.Write("申请并发锁<br/>");
            var counter = RClient.Get<int>("mykey");

            Thread.Sleep(100);

            RClient.Set("mykey", counter + 1);
            Response.Write(RClient.Get<int>("mykey"));
        }
    }

  

以上是关于ServiceStack.Redis常用操作 - 事务并发锁_转的主要内容,如果未能解决你的问题,请参考以下文章

项目实战 redis 缓存

ServiceStack.Redis 请求次数6000次异常

ServiceStack.Redis 请求次数6000次异常

使用Redis的基本操作

如何手动释放servicestack.redis连接池连接

.Net使用Redis详解之ServiceStack.Redis