HTML5技术

C# Redis之ServiceStack - 社会主义接班人(2)

字号+ 作者:H5之家 来源:H5之家 2017-03-03 14:00 我要评论( )

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace RedisHelper{ public class RedisString : RedisBase{ #region 赋值 设置key的

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace RedisHelper { public class RedisString : RedisBase { #region 赋值 设置key的value Set(string key, string value) { return RedisBase.Core.Set<string>(key, value); } 设置key的value并设置过期时间 Set(string key, string value, DateTime dt) { return RedisBase.Core.Set<string>(key, value, dt); } 设置key的value并设置过期时间 Set(string key, string value, TimeSpan sp) { return RedisBase.Core.Set<string>(key, value, sp); } 设置多个key/value Set(Dictionary<string, string> dic) { RedisBase.Core.SetAll(dic); } #endregion #region 追加 在原有key的value值之后追加value Append(string key, string value) { return RedisBase.Core.AppendToValue(key, value); } #endregion #region 获取值 获取key的value值 Get(string key) { return RedisBase.Core.GetValue(key); } 获取多个key的value值 List<string> Get(List<string> keys) { return RedisBase.Core.GetValues(keys); } 获取多个key的value值 List<T> Get<T>(List<string> keys) { return RedisBase.Core.GetValues<T>(keys); } #endregion #region 获取旧值赋上新值 获取旧值赋上新值 GetAndSetValue(string key, string value) { return RedisBase.Core.GetAndSetValue(key, value); } #endregion #region 辅助方法 获取值的长度 GetCount(string key) { return RedisBase.Core.GetStringCount(key); } 自增1,返回自增后的值 Incr(string key) { return RedisBase.Core.IncrementValue(key); } 自增count,返回自增后的值 IncrBy(string key, double count) { return RedisBase.Core.IncrementValueBy(key, count); } 自减1,返回自减后的值 Decr(string key) { return RedisBase.Core.DecrementValue(key); } 自减count ,返回自减后的值 DecrBy(string key, int count) { return RedisBase.Core.DecrementValueBy(key, count); } #endregion } }

View Code

(2)List操作类

using ServiceStack.Redis; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace RedisHelper { public class RedisList : RedisBase { #region 赋值 从左侧向list中添加值 LPush(string key, string value) { RedisBase.Core.PushItemToList(key, value); } 从左侧向list中添加值,并设置过期时间 LPush(string key, string value, DateTime dt) { RedisBase.Core.PushItemToList(key, value); RedisBase.Core.ExpireEntryAt(key, dt); } 从左侧向list中添加值,设置过期时间 LPush(string key, string value, TimeSpan sp) { RedisBase.Core.PushItemToList(key, value); RedisBase.Core.ExpireEntryIn(key, sp); } 从左侧向list中添加值 RPush(string key, string value) { RedisBase.Core.PrependItemToList(key, value); } 从右侧向list中添加值,并设置过期时间 RPush(string key, string value, DateTime dt) { RedisBase.Core.PrependItemToList(key, value); RedisBase.Core.ExpireEntryAt(key, dt); } 从右侧向list中添加值,并设置过期时间 RPush(string key, string value, TimeSpan sp) { RedisBase.Core.PrependItemToList(key, value); RedisBase.Core.ExpireEntryIn(key, sp); } 添加key/value Add(string key, string value) { RedisBase.Core.AddItemToList(key, value); } 添加key/value ,并设置过期时间 Add(string key, string value, DateTime dt) { RedisBase.Core.AddItemToList(key, value); RedisBase.Core.ExpireEntryAt(key, dt); } 添加key/value。并添加过期时间 Add(string key, string value, TimeSpan sp) { RedisBase.Core.AddItemToList(key, value); RedisBase.Core.ExpireEntryIn(key, sp); } 为key添加多个值 Add(string key, List<string> values) { RedisBase.Core.AddRangeToList(key, values); } 为key添加多个值,并设置过期时间 Add(string key, List<string> values, DateTime dt) { RedisBase.Core.AddRangeToList(key, values); RedisBase.Core.ExpireEntryAt(key, dt); } 为key添加多个值,并设置过期时间 Add(string key, List<string> values, TimeSpan sp) { RedisBase.Core.AddRangeToList(key, values); RedisBase.Core.ExpireEntryIn(key, sp); } #endregion #region 获取值 获取list中key包含的数据数量 Count(string key) { return RedisBase.Core.GetListCount(key); } 获取key包含的所有数据集合 List<string> Get(string key) { return RedisBase.Core.GetAllItemsFromList(key); } 获取key中下标为star到end的值集合 List<string> Get(string key, int star, int end) { return RedisBase.Core.GetRangeFromList(key, star, end); } #endregion #region 阻塞命令 阻塞命令:从list中keys的尾部移除一个值,并返回移除的值,阻塞时间为sp BlockingPopItemFromList(string key, TimeSpan? sp) { return RedisBase.Core.BlockingDequeueItemFromList(key, sp); } 阻塞命令:从list中keys的尾部移除一个值,并返回移除的值,阻塞时间为sp ItemRef BlockingPopItemFromLists(string[] keys, TimeSpan? sp) { return RedisBase.Core.BlockingPopItemFromLists(keys, sp); } 阻塞命令:从list中keys的尾部移除一个值,并返回移除的值,阻塞时间为sp BlockingDequeueItemFromList(string key, TimeSpan? sp) { return RedisBase.Core.BlockingDequeueItemFromList(key, sp); } 阻塞命令:从list中keys的尾部移除一个值,并返回移除的值,阻塞时间为sp ItemRef BlockingDequeueItemFromLists(string[] keys, TimeSpan? sp) { return RedisBase.Core.BlockingDequeueItemFromLists(keys, sp); } 阻塞命令:从list中key的头部移除一个值,并返回移除的值,阻塞时间为sp BlockingRemoveStartFromList(string keys, TimeSpan? sp) { return RedisBase.Core.BlockingRemoveStartFromList(keys, sp); } 阻塞命令:从list中key的头部移除一个值,并返回移除的值,阻塞时间为sp ItemRef BlockingRemoveStartFromLists(string[] keys, TimeSpan? sp) { return RedisBase.Core.BlockingRemoveStartFromLists(keys, sp); } 阻塞命令:从list中一个fromkey的尾部移除一个值,添加到另外一个tokey的头部,并返回移除的值,阻塞时间为sp BlockingPopAndPushItemBetweenLists(string fromkey, string tokey, TimeSpan? sp) { return RedisBase.Core.BlockingPopAndPushItemBetweenLists(fromkey, tokey, sp); } #endregion #region 删除 从尾部移除数据,返回移除的数据 PopItemFromList(string key) { return RedisBase.Core.PopItemFromList(key); } 移除list中,key/value,与参数相同的值,并返回移除的数量 RemoveItemFromList(string key, string value) { return RedisBase.Core.RemoveItemFromList(key, value); } 从list的尾部移除一个数据,返回移除的数据 RemoveEndFromList(string key) { return RedisBase.Core.RemoveEndFromList(key); } 从list的头部移除一个数据,返回移除的值 RemoveStartFromList(string key) { return RedisBase.Core.RemoveStartFromList(key); } #endregion #region 其它 从一个list的尾部移除一个数据,添加到另外一个list的头部,并返回移动的值 PopAndPushItemBetweenLists(string fromKey, string toKey) { return RedisBase.Core.PopAndPushItemBetweenLists(fromKey, toKey); } #endregion } }

View Code

(3)Hash操作类

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 【菜鸟玩Linux开发】通过MySQL自动同步刷新Redis - zhxilin

    【菜鸟玩Linux开发】通过MySQL自动同步刷新Redis - zhxilin

    2016-10-03 16:00

  • 【最全 干货 实例】 缓存手册(Memcached、redis、RabbitMQ) - 索宁

    【最全 干货 实例】 缓存手册(Memcached、redis、RabbitMQ) - 索宁

    2016-09-01 12:00

  • .NET基于Redis缓存实现单点登录SSO的解决方案 - Joye.Net

    .NET基于Redis缓存实现单点登录SSO的解决方案 - Joye.Net

    2016-04-20 15:00

  • Redis 的性能幻想与残酷现实 - mindwind

    Redis 的性能幻想与残酷现实 - mindwind

    2015-12-23 09:03

网友点评