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. Python笔试面试题_牛客(待完善)

    中文,免费,零起点,完整示例,基于最新的Python 3版本.https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42 ...

  2. Centos6.8 安装MySql

        启动Centos6.8   输入命令: yum install mysql mysql-server -y 等待安装完成. 启动MySQL,输入命令: /etc/init.d/mysqld s ...

  3. 1、Docker学习笔记

    Docker是一个基于LXC 的高级容器引擎,源代码托管在 GitHub 上, 基于Go语言开发并遵从Apache 2.0协议开源.它是一个开发的平台,用来为开发者和系统管理员构建.发布和运行分布式应 ...

  4. mac下的virtualbox启动失败处理

    不知从哪个版本开始,mac下的virtualbox建立vm以后,启动就提示什么驱动没有加载,google后,解决如下 sudo /Library/Application\ Support/Virtua ...

  5. C++代码规范之命名

    C++代码规范之命名 一.命名的两个基本原则 1.含义清晰,不易混淆: 2.不和其它模块.系统API的命名空间相冲突. 二.命名通则 1.在所有命名中,都应使用标准的英文单词或缩写:不得使用拼音或拼音 ...

  6. Linux上面缺少rz和sz命令

    一.centos系统没有自带rz/sz命令 yum install lrzsz 搞定! 二.对于经常使用Linux系统的人员来说,少不了将本地的文件上传到服务器或者从服务器上下载文件到本地,rz / ...

  7. canvas之画矩形

    <canvas id="canvas" width="600" height="500" style="background ...

  8. CentOS7 tar打包工具 打包,解包,打包压缩,打包解压缩

    tar命令 選項與參數: -c :建立打包檔案,可搭配 -v 來察看過程中被打包的檔名(filename) -t :察看打包檔案的內容含有哪些檔名,重點在察看『檔名』就是了: -x :解打包或解壓縮的 ...

  9. libvirt- Virsh 所有命令详单

    help            打印帮助    attach-device   从一个XML文件附加装置    attach-disk     附加磁盘设备    attach-interface 获 ...

  10. ceph---luminous版的安装

    前言 ceph luminous版本新增加了很多有意思的功能,这个也是一个长期支持版本,所以这些新功能的特性还是很值得期待的,从底层的存储改造,消息方式的改变,以及一些之前未实现的功能的完成,都让ce ...