ServiceStack.Redis
什么是Redis
首先,简述一下什么是Redis。
Redis是一个开源、支持网络、基于内存、键值对存储数据库,使用ANSI C编写。从2013年5月开始,Redis的开发由Pivotal赞助。在这之前,其开发由VMware赞助。根据月度排行网站DB-Engines.com的数据显示,Redis是最流行的键值对存储数据库。
更详尽的内容参见:
ServiceStack操作Redis
public static void Main(string[] args)
{
var Redis = new RedisClient("127.0.0.1", );//redis服务IP和端口 #region insert var storeMembers = new List<string> { "aaa", "bbb", "ccc" };
storeMembers.ForEach(x => Redis.AddItemToList("additemtolist", x));
//注:也可直接使用AddRangeToList方法将一组数据装入如: Redis.AddRangeToList("additemtolist", storeMembers);
#endregion #region get var members = Redis.GetAllItemsFromList("additemtolist");
members.ForEach(s => Console.WriteLine("additemtolist :" + s));
Console.WriteLine(Redis.GetItemFromList("additemtolist", ));
#endregion #region delete var list = Redis.Lists["additemtolist"];
list.Clear();//清空
list.Remove("two");//移除指定键值
list.RemoveAt();//移除指定索引位置数据
#endregion #region object Redis.Set("userinfo", new UserInfo() { UserName = "张三", Age = });
UserInfo userinfo = Redis.Get<UserInfo>("userinfo");
Console.WriteLine(userinfo.UserName); Redis.Set<int>("my_age", );//或Redis.Set("my_age", 12);
Console.WriteLine(Redis.Get<int>("my_age"));
#endregion var ser = new ObjectSerializer(); //位于namespace ServiceStack.Redis.Support; #region 序列化
bool result = Redis.Set<byte[]>("userinfo", ser.Serialize(new UserInfo() { UserName = "龙一", Age = }));
UserInfo userinfo = ser.Deserialize(Redis.Get<byte[]>("userinfo")) as UserInfo;
Console.WriteLine(userinfo.UserName);
#endregion //也支持列表
Redis.Set<byte[]>("userinfolist_serialize", ser.Serialize(userinfoList)); #region 负载均衡 PooledRedisClientManager prcm = CreateManager(new string[] { "10.0.4.210:6379" }, new string[] { "10.0.4.210:6379" });
List<UserInfo> userinfoList = new List<UserInfo>();
userinfoList.Add(new UserInfo() { UserName = "pool_daizhj", Age = });
userinfoList.Add(new UserInfo() { UserName = "pool_daizhj1", Age = }); // 从池中获取一个链接: using (IRedisClient Redis2 = prcm.GetClient())
{
Redis2.Set("userinfolist", userinfoList);
List<UserInfo> userList = Redis2.Get<List<UserInfo>>("userinfolist");
} #endregion Console.ReadLine();
} public static PooledRedisClientManager CreateManager(string[] readWriteHosts, string[] readOnlyHosts)
{
//支持读写分离,均衡负载
return new PooledRedisClientManager(readWriteHosts, readOnlyHosts, new RedisClientManagerConfig
{
MaxWritePoolSize = ,//“写”链接池链接数
MaxReadPoolSize = ,//“写”链接池链接数
AutoStart = true,
});
}
ServiceStack.Redis的更多相关文章
- .Net使用Redis详解之ServiceStack.Redis(七)
序言 本篇从.Net如何接入Reis开始,直至.Net对Redis的各种操作,为了方便学习与做为文档的查看,我做一遍注释展现,其中会对list的阻塞功能和事务的运用做二个案例,进行记录学习. Redi ...
- ServiceStack.Redis订阅发布服务的调用(Z)
1.Redis订阅发布介绍Redis订阅发布是一种消息通信模式:发布者(publisher)发送消息,订阅者(Subscriber)接受消息.类似于设计模式中的观察者模式.发布者和订阅者之间使用频 ...
- serviceStack.Redis 在PooledRedisClientManager 中设置密码
ServiceStack.Redis 是一个C#访问Redis的客户端,可以说可以通过它实现所有需要Redis-Cli的功能.但是今天我在主Redis 实例设置了访问密码,而在slave 上没有设置, ...
- ServiceStack.Redis订阅发布服务的调用
1.Redis订阅发布介绍 Redis订阅发布是一种消息通信模式:发布者(publisher)发送消息,订阅者(Subscriber)接受消息.类似于设计模式中的观察者模式. 发布者和订阅者之间使用频 ...
- Redis简介、与memcached比较、存储方式、应用场景、生产经验教训、安全设置、key的建议、安装和常用数据类型介绍、ServiceStack.Redis使用(1)
1.NOSQL简介 nosql的产生并不是要彻底的代替关系型数据库,而是作为传统关系型数据库的一个补充. Facebook和360使用Cassandra来存储海量社交数据 Twitter在其url抓取 ...
- ServiceStack.Redis 使用教程
http://www.cnblogs.com/shanyou/archive/2011/11/10/2245082.html https://github.com/ServiceStack/Servi ...
- 在使用Redis的客户端连接工具ServiceStack.Redis要注意的问题
在使用Redis的客户端连接工具ServiceStack.Redis要注意的问题 Redis是一个非常NB的内存级的数据库,我们可以把很多”热数据“(即读写非常多的数据)放入其中来操作,这样就减少 ...
- 关于 ServiceStack.Redis 4.0 License
今天更新了框架中的Redis驱动ServiceStack.Redis,最新版本4.0.5.0. 在做简单压力测试时出现异常,提示每小时允许6000个请求. The free-quota limit o ...
- ServiceStack.Redis.RedisNativeClient的方法“get_Db”没有实现
Redis 4.0.0.0版本已经开始收费 Redis 4.0.5.0 已经完成收费 今日在更换Redis版本时 出现了ServiceStack.Redis.RedisNativeClient的方法“ ...
随机推荐
- IOS图片的两种处理:加阴影和变灰色
#import <QuartzCore/QuartzCore.h> //图片阴影 UIImageView *img; [[img layer] setShadowOffset:CGSize ...
- 【转】web常见安全问题以及测试方法
web安全是我们测试组一直以来作为和性能测试并驾齐驱的两个重点.开发的过程中还需要着重注意,该转义的地方转义:该屏蔽的地方屏蔽,该过滤的地方过滤等等.年底又到了,势必又有大批的发号抽奖之类的活动开发. ...
- Ubuntu系统中Sogou输入法面板问题解决方案
好消息- Ubuntu Kylin团队与搜狗公司合作开发了“搜狗输入法 for Linux”版本,支持Ubuntu 12.04 和 Ubuntu 14.04操作系统,在Sougou官网就可以下载到,附 ...
- U大师装系统
主要步骤 1. 若是ghost版本,直接使用智能快速装机版即可安装. 2.安装64位操作系统(iso文件) 1)下载系统地址 http://msdn.itellyou.cn/ . 2)制作好U盘启动, ...
- 【Android】日常开发android.jar文件中十五个重要的包概述
简述Android项目中android.jar文件里包含较为重要的15个系统编译后的class文件 android.app:提供高层的程序模型,提供基本的运行环境android.content:包含各 ...
- UML建模——概述
轻松玩建模 统一建模语言UML快速入门 http://soft.yesky.com/lesson/281/2472281.shtml UML是一种定义良好.易于表达.功能强大且普遍适用的建模语言.它溶 ...
- 转....导入excel错误:外部表不是预期的格式 解决方案
环境:win7+iis7+Office2007 在asp.net网站中导出Excel文件后,再把文件导入到数据库中. 读取Excel文件时,打开连接出错. 错误为:外部表不是预期的格式 解决:检查了一 ...
- asp.net MVC中使用Html.Checkbox提示该字符串未被识别为有效的布尔值错误的解决方法
在asp.net MVC中使用Html.CheckBox提交后出现该字符串未被识别为有效的布尔值错误,或从类型“System.String”到类型“System.Boolean”的参数转换失败. 错误 ...
- (转)linux下jvm 参数调优
1.基本概念. JAVA_MEM_OPTS=" -server -Xmx2g -Xms2g -Xmn512m -XX:PermSize=128m -Xss256k -XX:+DisableE ...
- css3学习笔记之渐变
CSS3 线性渐变 语法 background: linear-gradient(direction, color-stop1, color-stop2, ...); 1 2 3 4 5 6 7 8 ...