using ServiceStack.Common.Extensions;
using ServiceStack.Redis;
using ServiceStack.Redis.Generic;
using ServiceStack.Text;
using ServiceStack.Redis.Support;
声明一个客户端对象:
protected RedisClient Redis = new RedisClient("127.0.0.1", 6379);//redis服务IP和端口
Redis.Set("userinfo", new UserInfo() { UserName ="李四", Age =45 });
UserInfo userinfo = Redis.Get("userinfo");
//注:当然上面方式也适合于基本类型,如:
Redis.Set("my_age", 12);//或Redis.Set("my_age", 12);
int age = Redis.Get("my_age");
2.object序列化方式存储:
var ser =new ObjectSerializer(); //位于namespace ServiceStack.Redis.Support;
bool result = Redis.Set("userinfo", ser.Serialize(new UserInfo() { UserName ="张三", Age =12 }));
UserInfo userinfo = ser.Deserialize(Redis.Get("userinfo")) as UserInfo;
//也支持列表
Redis.Set("userinfolist_serialize", ser.Serialize(userinfoList));
List userList = ser.Deserialize(Redis.Get("userinfolist_serialize")) as List;
三.存储表格对象,比如:
using (var redisUsers = Redis.GetTypedClient())
{
redisUsers.Store(new UserInfo { Id = redisUsers.GetNextSequence(), UserName ="daizhj", Age =12 });
redisUsers.Store(new UserInfo { Id = redisUsers.GetNextSequence(), UserName ="daizhenjun", Age =13 });
var allUsers = redisUsers.GetAll();//就像操作ado对象一样,可以进行CRUD等操作
allUsers.ForEach(s => Response.Write("user :"+ s.UserName +" age:"+ s.Age));
}