ServiceStack.Redis记录

一、事务

  (一)AcquireLock方法

    1、说明:申请对一个Key加锁(期间其他对象不能访问)。

    2、带using的使用,或带过期时间参数,否则锁不会自动释放。

using (RedisCache.AcquireLock("lock1"))
{
  displayHelper.AppendInfo("进锁");
}
View Code

  (二)Watch方法

    1、说明:监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断。

  (三)CreateTransaction方法

    1、说明:创建一个事务,返回一个IRedisTransaction对象。

    2、redis为了性能牺牲了事务的回滚功能。事务中任意命令执行失败,其余的命令依然被执行。在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中。

  (四)CreatePipeline方法

    1、说明:返回一个IRedisPipeline对象。

    2、减少传输次数,极大增加性能。

  (五)CreateSubscription方法

    1、说明:创建一个订阅事件返回一个IRedisSubscription对象。

    2、Redis订阅发布是一种消息通信模式:发布者(publisher)发送消息,订阅者(Subscriber)接受消息。类似于设计模式中的观察者模式。发布者和订阅者之间使用频道进行通信,当需要发送消息时,发布者通过publish命令将消息发送到频道上,该消息就会发送给订阅这个频道的订阅者。

    3、订阅信道的时候会开启阻塞模式,将监听放到单独的线程里。在程序终止或者类的实例被销毁的时候,请将订阅者实例注销掉,否则,在redis中一直存在这个订阅者。

原文地址:https://www.cnblogs.com/yuekong2010/p/10175490.html