redis在.NET下的使用
windows SEVER包:http://code.google.com/p/servicestack/wiki/RedisWindowsDownload
windows仅用来测试,性能不如在linux下高.
c#使用:
引用的ServiceStackRedis:https://github.com/mythz/ServiceStack.Redis
- static void Main(string[] args)
- {
- var Redis = new RedisClient("127.0.0.1", 6379);//redis服务IP和端口
- #region =insert=
- //var storeMembers = new List<string> { "jj", "lihui", "cc" };
- //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", 2));
- #endregion
- #region =delete=
- //var list = Redis.Lists["additemtolist"];
- //list.Clear();//清空
- //list.Remove("two");//移除指定键值
- //list.RemoveAt(2);//移除指定索引位置数据
- #endregion
- #region =object=
- //Redis.Set("userinfo", new UserInfo() { UserName = "李四", Age = 45 });
- //UserInfo userinfo = Redis.Get<UserInfo>("userinfo");
- //Console.WriteLine(userinfo.UserName);
- //Redis.Set<int>("my_age", 12);//或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 = 12 }));
- //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 = 1 });
- userinfoList.Add(new UserInfo() { UserName = "pool_daizhj1", Age = 2 });
- // 从池中获取一个链接:
- 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 = 5,//“写”链接池链接数
- MaxReadPoolSize = 5,//“写”链接池链接数
- AutoStart = true,
- });
- }
redis在.NET下的使用的更多相关文章
- redis 在linux下的安装
背景:在项目互联网项目开发中我们经常需要缓存热点数据,在做热点数据缓存时有2个常用的方案 redis简介redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型 ...
- (转)NoSQL——Redis在win7下安装配置的学习一
NoSQL——Redis在win7下安装配置的学习一 有些也是从网上看来的 1.下载安装 Redis它没有windows的官方版本,但是又非官方的版本,到官网上去下载相应的版本,我的电脑是win7 ...
- [傻瓜版] Redis在Windows下的开发环境配置步骤
redis默认运行在unix体系下,windows无法直接运行官方版.以下是几种解决方案, 一)Windows移植版.启动速度飞快,优先推荐使用. a) 2.6.12 是稳定版,我用64位版来做开发环 ...
- redis入门(14)redis集群下的数据分区存储
redis入门(10)redis集群下的数据分区存储
- 【Redis】windows下redis服务的安装
下载地址: https://github.com/MicrosoftArchive/redis/releases Redis 支持 32 位和 64 位.这个需要根据你系统平台的实际情况选择,这里我们 ...
- redis 在Linux下的安装与配置
redis在Linux下的安装与配置 by:授客 QQ:1033553122 测试环境 redis-3.0.7.tar.gz 下载地址: http://redis.io/download http: ...
- redis在Linux下的远程连接
1.redis在Linux下的远程连接: $ redis-cli -h host -p port -a password 如何连接到主机为 127.0.0.1,端口为 6379 ,密码为 mypass ...
- Redis在windows下的配置
Redis在windows下的配置(在windows-64下安装redis,请参考微软redis的github:https://github.com/MSOpenTech/redis/releases ...
- redis在Windows下以后台服务一键搭建哨兵(主从复制)模式(多机)
redis在Windows下以后台服务一键搭建哨兵(主从复制)模式(多机) 一.概述 此教程介绍如何在windows系统中多个服务器之间,布置redis哨兵模式(主从复制),同时要以后台服务的模式运行 ...
- Redis在windows下安装过程(转)
(转)原文:http://www.cnblogs.com/M-LittleBird/p/5902850.html 要使redis在PHP下运行, 需在PHP文件下的ext扩展文件夹中添加扩展文件 ph ...
随机推荐
- python 脚本
mag3.py 1,import import sys from org.eclipse.jface.dialogs import MessageDialogfrom org.eclipse.core ...
- 【IT历史】SP和CP
1.什么是SP?SP是英文Service Provider的缩写,中文翻译为服务提供商,通常是指在移动网内运营增值业务的社会合作单位.它们建立与移动网络建立相连的服务平台,为手机用户提供一系列信息服务 ...
- python 操作sqlite数据库
'''SQLite数据库是一款非常小巧的嵌入式开源数据库软件,也就是说 没有独立的维护进程,所有的维护都来自于程序本身. 在python中,使用sqlite3创建数据库的连接,当我们指定的数据库文件不 ...
- mysql中实现行号,oracle中的rowid
mysql中实现行号需要用到MYSQL的变量,因为MySql木有rownumber. MYSQL中变量定义可以用 set @var=0 或 set @var:=0 可以用=或:=都可以,但是如果变量用 ...
- SecureCRT自动登陆到服务器的脚本以及脚本编写简单说明
http://blog.csdn.net/marising/article/details/6409196 Secure用SSH登陆服务器时,如果服务器较多,登陆一次很麻烦,所以,可以自己编写VBSc ...
- Vector 的清空
前两天比赛有一道题,有用到了vector的清空,用的是swap,我一开始还不太清楚,所以去查了下资料,转载一篇关于vector的清空的. vector <int> vecInt; ; i& ...
- POJ 2531 Network Saboteur
http://poj.org/problem?id=2531 题意 :有N台电脑,每两台电脑之间都有个通信量C[i][j]; 问如何将其分成两个子网,能使得子网之间的通信量最大. 也就是说将所有节点分 ...
- android 监听去电实现ip拨号 广播接收者
利用广播实现ip拨号 布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout x ...
- JavaSE replaceAll 方法
private String srcStr = "index\\.php\\?action=";//要替换的原字符串 private String destStr = " ...
- Cocos2d-x CCEditBox & CCTextFieldTTF
下面简单记录一下如何Cocos2d-x中创建输入编辑框.在引擎中为我们提供了这样两个类:CCEditBox 和 CCTextFieldTTF. 一.CCEditBox ①这个类文件的位置 ②这个类 ...