.Net中Redis的基本使用

前言

Redis可以用来存储、缓存和消息传递。它具有高性能、持久化、高可用性、扩展性和灵活性等特点,尤其适用于处理高并发业务和大量数据量的系统,它支持多种数据结构,如字符串、哈希表、列表、集合、有序集合等。

Redis的使用 

安装包ServiceStack.Redis

NuGet\Install-Package ServiceStack.Redis 

引入包

using ServiceStack.Redis;

创建实例对象

RedisClient()第一个参数为地址,第二个参数为端口号,第三个参数填0~15,默认不填为0。

7bd041582481482da28482dd161694b2.png

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

FlushDb()

该方法为刪除当前Redis数据库中的所有值。

using (IRedisClient client=new RedisClient("127.0.0.1", 6379))
{
    client.FlushDb();
}

Set<>() 

需要一个类型,第一个参数为Key值,第二个参数为Value。

该方法向当前Redis数据库中新增一个值,新增的值做了序列号处理。

using (IRedisClient client=new RedisClient("127.0.0.1", 6379))
{
    client.Set<string>("name", "猪儿虫");
}

Add<>()

需要一个类型,第一个参数为Key值,第二个参数为Value。

该方法向当前Redis数据库中新增一个值,并且返回一个bool值,添加成功返回true,添加失败返回false。

using (IRedisClient client=new RedisClient("127.0.0.1", 6379))
{
    Console.WriteLine(client.Add<string>("name", "猪儿虫"));
}

GetValue() 

该方法根据key获取内容,获取的值带有双引号。

using (IRedisClient client=new RedisClient("127.0.0.1", 6379))
{
    var values = client.GetValue("name");
    Console.WriteLine(values);
}

Get<>()

该方法根据key值获取内容,获取的值不带双引号,内部做了反序列化操作。

using (IRedisClient client=new RedisClient("127.0.0.1", 6379))
{
    var values = client.Get<string>("name");
    Console.WriteLine(values);
}

SetAll()

该方法为批量向当前Redis数据库中新增数据,接收一个Dictionary类型数据。

using (IRedisClient client=new RedisClient("127.0.0.1", 6379))
{
    var SetDict = new Dictionary<string, string>();
    SetDict.Add("item", "001");
    SetDict.Add("name", "猪儿虫");
    client.SetAll(SetDict);
}

GetAll() 

该方法为批量向当前Redis数据库中读取数据,接收一个数组类型数据,返回一个Dictionary类型数据。

using (IRedisClient client=new RedisClient("127.0.0.1", 6379))
{
    var NewList = new string[] { "item", "name" };
    var RedisList = client.GetAll<string>(NewList);
    foreach(var v in RedisList)
    {
        Console.WriteLine(v);
        Console.WriteLine(v.Value);
    }
}

设置数据过期时间

该方法为向当前Redis数据库中添加一个name名为猪儿虫的数据,且在当前Redis数据库中保存10秒,到期自动销毁,读取过期数据会返回空。

using (IRedisClient client=new RedisClient("127.0.0.1", 6379))
{
    client.Set<string>("name", "猪儿虫", TimeSpan.FromSeconds(10));
}

 TimeSpan.FromHours(1)一小时

TimeSpan.FromDays(1)一天

TimeSpan.FromMinutes(1)一分钟

设置数据特定过期时间 

该方法为向当前Redis数据库中添加一个name名为猪儿虫的数据,且在当前Redis数据库中保存到明天这个时间,到期自动销毁,读取过期数据会返回空。

using (IRedisClient client=new RedisClient("127.0.0.1", 6379))
{
    client.Set<string>("name", "猪儿虫", DateTime.Now.AddDays(1));
}

DateTime.Now.AddHours(1)当前时间一小时后

DateTime.Now.AddMinutes(1)当前时间一分钟后

DateTime.Now.AddSeconds(1)当前时间一秒后

AppendToValue()

该方法向当前Redis数据库中已经有的数据追加数据,注意,该追加的数据不进行序列化处理。

using (IRedisClient client=new RedisClient("127.0.0.1", 6379))
{
    client.AppendToValue("name", "大聪明");
}

GetAndSetValue()

对数据重新赋值 ,注意,该重新赋值的数据不进行序列化处理。

using (IRedisClient client=new RedisClient("127.0.0.1", 6379))
{
    client.GetAndSetValue("name", "小青龙");
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值