ServiceStack.Redis记录
一、事务
(一)AcquireLock方法
1、说明:申请对一个Key加锁(期间其他对象不能访问)。
2、带using的使用,或带过期时间参数,否则锁不会自动释放。
using (RedisCache.AcquireLock("lock1")) { displayHelper.AppendInfo("进锁"); }
(二)Watch方法
1、说明:监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断。
(三)CreateTransaction方法
1、说明:创建一个事务,返回一个IRedisTransaction对象。
2、redis为了性能牺牲了事务的回滚功能。事务中任意命令执行失败,其余的命令依然被执行。在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中。
(四)CreatePipeline方法
1、说明:返回一个IRedisPipeline对象。
2、减少传输次数,极大增加性能。
(五)CreateSubscription方法
1、说明:创建一个订阅事件返回一个IRedisSubscription对象。
2、Redis订阅发布是一种消息通信模式:发布者(publisher)发送消息,订阅者(Subscriber)接受消息。类似于设计模式中的观察者模式。发布者和订阅者之间使用频道进行通信,当需要发送消息时,发布者通过publish命令将消息发送到频道上,该消息就会发送给订阅这个频道的订阅者。
3、订阅信道的时候会开启阻塞模式,将监听放到单独的线程里。在程序终止或者类的实例被销毁的时候,请将订阅者实例注销掉,否则,在redis中一直存在这个订阅者。