using System;
using System.Collections.Generic;
using ServiceStack.Redis; namespace SysBuild
{
class Program
{
//linux服务器地址
static private string host = "182.180.50.168";
//static private string host = "127.0.0.1";
static private int port = 6379;
static RedisClient redisClient = new RedisClient(host, port);//redis服务IP和端口
static void Main(string[] args)
{
//创建一个键a,指定值
redisClient.Set<string>("a", "1");
//获取键a对应的值
var a1 = redisClient.Get<string>("a");
//删除键a
redisClient.Remove("a");
//创建一个键a,指定值,并指定10s有效
redisClient.Set<string>("b", "1", new TimeSpan(0, 0, 60)); //队列操作之入队
redisClient.EnqueueItemOnList("list", "haha");
redisClient.EnqueueItemOnList("list", "haha111111111");
redisClient.EnqueueItemOnList("list", "haha22");
redisClient.EnqueueItemOnList("list", "hahset33333333333333333");
//读取队列深度
var a = redisClient.GetListCount("list");
//队列操作之出队
for (int i = 0; i < a; i++)
{
Console.WriteLine(redisClient.DequeueItemFromList("list"));
} redisClient.SetEntryInHash("Hash", "Name", "wujf");
redisClient.SetEntryInHash("Hash", "Age", "99");
redisClient.SetEntryInHash("Hash", "Sex", "男");
redisClient.SetEntryInHash("Hash", "Address", "上海市XX号XX室");
//集合类指定超时的方法
redisClient.ExpireEntryIn("Hash", new TimeSpan(0, 0, 100));
var dic = redisClient.GetAllEntriesFromHash("Hash");
Console.WriteLine("Key-----Value");
foreach (var keyVal in dic)
{
Console.WriteLine(string.Format("{0}-----{1}", keyVal.Key, keyVal.Value));
}
List<string> haskKey = redisClient.GetHashKeys("Hash");
List<string> haskVal = redisClient.GetHashValues("Hash");
foreach (string key in haskKey)
{
Console.WriteLine("HashID--Key:{0}", key);
}
foreach (string val in haskVal)
{
Console.WriteLine("HashID--val:{0}", val);
} //栈使用,先进后出
redisClient.PushItemToList("stack", "1");
redisClient.PushItemToList("stack", "2");
redisClient.PushItemToList("stack", "3");
redisClient.PushItemToList("stack", "4");
int count = redisClient.GetListCount("stack");
for (int i = 0; i < count; i++)
{
Console.WriteLine(redisClient.PopItemFromList("stack"));
} //对Set类型进行操作
redisClient.AddItemToSet("set", "ddd");
redisClient.AddItemToSet("set", "ccc");
redisClient.AddItemToSet("set", "tttt");
redisClient.AddItemToSet("set", "sssh");
redisClient.AddItemToSet("set", "hhhh");
HashSet<string> hashset = redisClient.GetAllItemsFromSet("set");
foreach (string str in hashset)
{
Console.WriteLine(str);
} //求并集
redisClient.AddItemToSet("set1", "aa");
redisClient.AddItemToSet("set1", "bb");
redisClient.AddItemToSet("set2", "bb");
redisClient.AddItemToSet("set2", "cc");
hashset = redisClient.GetUnionFromSets(new string[] { "set1", "set2" });
foreach (string str in hashset)
{
Console.WriteLine(str);
}
//求交集
hashset = redisClient.GetIntersectFromSets(new string[] { "set1", "set2" });
//求差集.
hashset = redisClient.GetDifferencesFromSet("set1", new string[] { "set2" }); //Sorted Set类型排序
redisClient.AddItemToSortedSet("sortList", "1");
redisClient.AddItemToSortedSet("sortList", "9");
redisClient.AddItemToSortedSet("sortList", "3");
redisClient.AddItemToSortedSet("sortList", "8");
List<string> sortList = redisClient.GetAllItemsFromSortedSet("sortList");
foreach (string str in sortList)
{
Console.WriteLine(str);
} Console.ReadKey();
}
}
}

ServiceStack.redis用法的更多相关文章

  1. .Net使用Redis详解之ServiceStack.Redis(七)

    序言 本篇从.Net如何接入Reis开始,直至.Net对Redis的各种操作,为了方便学习与做为文档的查看,我做一遍注释展现,其中会对list的阻塞功能和事务的运用做二个案例,进行记录学习. Redi ...

  2. ServiceStack.Redis订阅发布服务的调用(Z)

      1.Redis订阅发布介绍Redis订阅发布是一种消息通信模式:发布者(publisher)发送消息,订阅者(Subscriber)接受消息.类似于设计模式中的观察者模式.发布者和订阅者之间使用频 ...

  3. serviceStack.Redis 在PooledRedisClientManager 中设置密码

    ServiceStack.Redis 是一个C#访问Redis的客户端,可以说可以通过它实现所有需要Redis-Cli的功能.但是今天我在主Redis 实例设置了访问密码,而在slave 上没有设置, ...

  4. ServiceStack.Redis订阅发布服务的调用

    1.Redis订阅发布介绍 Redis订阅发布是一种消息通信模式:发布者(publisher)发送消息,订阅者(Subscriber)接受消息.类似于设计模式中的观察者模式. 发布者和订阅者之间使用频 ...

  5. Redis简介、与memcached比较、存储方式、应用场景、生产经验教训、安全设置、key的建议、安装和常用数据类型介绍、ServiceStack.Redis使用(1)

    1.NOSQL简介 nosql的产生并不是要彻底的代替关系型数据库,而是作为传统关系型数据库的一个补充. Facebook和360使用Cassandra来存储海量社交数据 Twitter在其url抓取 ...

  6. ServiceStack.Redis 使用教程

    http://www.cnblogs.com/shanyou/archive/2011/11/10/2245082.html https://github.com/ServiceStack/Servi ...

  7. 在使用Redis的客户端连接工具ServiceStack.Redis要注意的问题

    在使用Redis的客户端连接工具ServiceStack.Redis要注意的问题   Redis是一个非常NB的内存级的数据库,我们可以把很多”热数据“(即读写非常多的数据)放入其中来操作,这样就减少 ...

  8. 关于 ServiceStack.Redis 4.0 License

    今天更新了框架中的Redis驱动ServiceStack.Redis,最新版本4.0.5.0. 在做简单压力测试时出现异常,提示每小时允许6000个请求. The free-quota limit o ...

  9. ServiceStack.Redis.RedisNativeClient的方法“get_Db”没有实现

    Redis 4.0.0.0版本已经开始收费 Redis 4.0.5.0 已经完成收费 今日在更换Redis版本时 出现了ServiceStack.Redis.RedisNativeClient的方法“ ...

随机推荐

  1. xunsearch之php索引维护(四)

    1.添加文档 $xs = new XS('njw'); $index = $xs->index; $data = array( 'pid' => 234, // 此字段为主键,必须指定 ' ...

  2. 监控mysql状态并发送Email

    */10 * * * *  /shell/mysql_status.sh > /dev/null 2>&1 #!/bin/bash port55=`/usr/sbin/lsof - ...

  3. (转)Inno Setup入门(二十二)——Inno Setup类参考(8)

    本文转载自:http://blog.csdn.net/yushanddddfenghailin/article/details/17268473 列表框 列表框(ListBox)是Windows应用程 ...

  4. Clustering Factor——索引的成本指标

    使用索引是我们面对海量数据搜索是一种常用的手段.通过有效的索引访问,可以使我们更快的访问到需要的数据,减少物理.逻辑IO,从而提高系统性能.在CBO时代,Oracle对于提交SQL的执行路径是有所选择 ...

  5. 使用国内源部署ceph

    由于网络方面的原因,Ceph的部署经常受到干扰,通常为了加速部署,基本上大家都是将Ceph的源同步到本地进行安装.根据Ceph中国社区的统计,当前已经有国内的网站定期将Ceph安装源同步,极大的方便了 ...

  6. 导出文件名带时间信息的dmp文件

    exp system/orcl@orcl owner=aixm file=d:\aixm%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2% ...

  7. 【C++】

    C++声明function后面加上等于0(=0)何解? https://zhidao.baidu.com/question/1446181256925153340.html

  8. [Z] 将samba共享文件夹映射到linux的目录下

    Linux系统下访问远程共享资源 使用mount加载共享目录: -把WinXP机器192.168.16.249上的共享目录test001映射到本地目录/wdl/下. -把Linux机器192.168. ...

  9. .net Reactor之exe、dll文件混淆

    .net Reactor之exe.dll文件混淆 .net Reactor的主要功能: 1.是对dll文件.exe文件进行反编译混淆 2.对dll进行内部加锁,限制其使用的固定机器.固定时间.部署次数 ...

  10. C# 在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke [问题点数:40分

    注意:  this.DateTimeRun = true;            new Thread(jishi_kernel).Start(); 线程的启动,不能放在    public Form ...