简单的字符串类型数据写. Poco在redis中会被序列化成Json字符串.
1 using (var redis = new RedisClient(connString))2 {3 if (redis.Db != 7)4 ((RedisClient)redis).ChangeDb(7);56 var client = redis.As<Poco>();7 var list = new List<Poco>();89 foreach(var key in keys)10 {11 list.Add(client.GetValue(key.ToString(CultureInfo.InvariantCulture)));12 }1314 return list;15 }
Redis以快著称, 以上写法不是最快的.因为上边循环中每次都是进行了一个独立的Redis访问, 即进行了一次Query, 返回了一个Response
[req1][====waiting=====][resp1][req2][====waiting=====][resp2]
更快的写法是使用pipeline mode. Pipeline mode不会等待上一次Query的结果, 会立刻发送下一个Query. 每当有一条Response返回时, 它会对Response进行对应的Callback处理.
以下是代码实现:
此段代码摘自ServiceStack.Redis的测试类
1 [Test]2 public void Can_call_single_operation_with_callback_3_Times_in_pipeline()3 {4 var results = new List<long>();5 Assert.That(Redis.GetValue(Key), Is.Null);6 using (var pipeline = Redis.CreatePipeline())7 {8 pipeline.QueueCommand(r => r.IncrementValue(Key), results.Add);9 pipeline.QueueCommand(r => r.IncrementValue(Key), results.Add);10 pipeline.QueueCommand(r => r.IncrementValue(Key), results.Add);11 pipeline.Flush();12 }1314 Assert.That(Redis.GetValue(Key), Is.EqualTo("3"));15 Assert.That(results, Is.EquivalentTo(new List<long> { 1, 2, 3 }));16 }
ServiceStack.Redis 数据操作
ServiceStack.Redis 数据操作 讨论
Redis附加功能之键过期功能
一、键过期功能的相关命令 二、设置生存时间 Redis 提供了两个命令来设置键的生存时间(TTL,time to live),它们分别是: 如果给定的键不存在,那么 EXPIRE 和 PEXPIRE 将返回 0 ,表示设置失败;...
windows平台安装redis - 烛光照亮天堂
官方网站地址: 下载地址: Github : 选择需要使用的版本 650) this.width=650;" src="../attachment/201208/101936100.png" alt="" border="0" /> Redis简介:是一个key-value存储系统,和Memcached类似,它支持存储的value类型相对...
redis 命令行 操作
redis目前提供四种数据类型:string,list,set及zset(sorted set)。 * string是最简单的类型,你可以理解成与Memcached一模一个的类型,一个key对应一个value,其上支持的操作与Memcached的操作类似。但它的功...