.net 操作redis数据库

70 阅读1分钟

依赖下载

ServiceStack.Redis

image.png

语法

连接数据库

IRedisClient client = new RedisClient("127.0.0.1", 6379)

image.png

清除所有Key

image.png

client.FlushDb();

单个操作

新增 key-value 数据

image.png image.png

client.Set<string>("k1", "v1");

根据Key读取value

image.png

image.png

client.GetValue("k1");

image.png

client.Get<string>("k1") image.png

image.png

string v2 = client.GetValue("k1");

Console.WriteLine(JsonConvert.DeserializeObject<string>(v2));

批量操作

image.png

var dics = new Dictionary<string, string>();
dics.Add("id", "001");
dics.Add("name", "zhnsgan");
dics.Add("age", "23");
client.SetAll(dics);

image.png

  // 批量写
var list = client.GetAll<string>(new string[] { "id", "name", "age" });
foreach(var item in list)
{
    Console.WriteLine(item);
}

过期时间

指定过期秒数

image.png
client.Set<string>("name","zs",TimeSpan.FromSeconds(10));

指定过期天数

image.png

 client.Set<String>("age","18",DateTime.Now.AddDays(1));

追加

image.png

client.AppendToValue("name", "zs");
string v1 = client.Get<string>("name");
Console.WriteLine(v1);

client.AppendToValue("name", "zs");
string v2 = client.Get<string>("name");
Console.WriteLine(v2);

获取原先的值,然后赋新值

image.png

string v = client.GetAndSetValue("name", "ls");
Console.WriteLine(v);

自增自减

image.png

// 自增
long a = client.Increment("count", 1);
Console.WriteLine(a);

// 自减
a = client.Decrement("count", 2);
Console.WriteLine(a);

add 和 set

image.png