服务端我用的是redis64-2.6.12.1,版本比较低,因为2.8的都安不上,可能是因为自己电脑是windows的原因吧。
解压完成之后,
进入到这个文件夹里面,输入:redis-server.exe redis.conf,服务开启成功之后,会这样子:
与memcached一样,我们也可以通过cmd的方式操作缓存,在客户端程序里面,可以使用dll.
在。net项目里面,我使用的是ServiceStack.Redis.3.9.29.0。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using ServiceStack.Common; using ServiceStack.ServiceInterface; using ServiceStack.Redis; using ServiceStack.Text; namespace TestRedis { class Program { static RedisClient Redis = new RedisClient("127.0.0.1", 6379); static void Main(string[] args) { //将字符列表添加到redis List<string> storeMembers = new List<string>{"one","two","three" }; storeMembers.ForEach(x=>Redis.AddItemToList("addItemToList",x)); //得到指定的key所对应的value集合 var members = Redis.GetAllItemsFromList("addItemToList"); members.ForEach(s=>Console.WriteLine("addItemToList:"+s)); //获取指定索引位置数据 var item = Redis.GetItemFromList("addItemToList",2); Console.WriteLine(item); //移除数据 var list = Redis.Lists["addItemToList"]; list.Clear();//清空 list.Remove("two");//移除指定键值 //存储对象(json序列化方法)它比object序列化方法效率高 Redis.Set<UserInfo>("userInfo", new UserInfo() { UserName="lhc",Age=12}); UserInfo userInfo = Redis.Get<UserInfo>("userInfo"); Console.WriteLine("name="+userInfo.UserName+";age="+userInfo.Age); //存储值类型数据 Redis.Set<int>("my_age", 12); int age = Redis.Get<int>("my_age"); Console.WriteLine("age=" + age); //object序列化方式存储 var ser = new ServiceStack.Redis.Support.ObjectSerializer(); bool result=Redis.Set<byte[]>("userInfo2",ser.Serialize(new UserInfo(){UserName="pbc",Age=27})); UserInfo userInfo2=ser.Deserialize(Redis.Get<byte[]>("userInfo2")) as UserInfo; Console.WriteLine("name="+userInfo2.UserName+";age="+userInfo2.Age); //也支持列表 List<UserInfo> userInfoList = new List<UserInfo> { new UserInfo{UserName="lhccc",Age=22}, new UserInfo{UserName="bcss",Age=100} }; Redis.Set<byte[]>("UserInfoList_serialize", ser.Serialize(userInfoList)); List<UserInfo> userList = ser.Deserialize(Redis.Get<byte[]>("UserInfoList_serialize")) as List<UserInfo>; userList.ForEach( u => { Console.WriteLine("name="+u.UserName+";age="+u.Age); } ); Console.ReadKey(); } } }
个人感觉,redis比memcached支持数据类型多,而且内存数据可以持久化,性能也不错,关于具体的技术选项分析,见下月吧。
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/lhc1105/article/details/46745505