.Net中Redis的基本使用

前言

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

Redis的使用

安装包ServiceStack.Redis

NuGet\Install-Package ServiceStack.Redis

引入包

using ServiceStack.Redis;

创建实例对象

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

cs 复制代码
IRedisClient client=new RedisClient("127.0.0.1", 6379, 0);

FlushDb()

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

cs 复制代码
using (IRedisClient client=new RedisClient("127.0.0.1", 6379))
{
    client.FlushDb();
}

Set<>()

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

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

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

Add<>()

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

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

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

GetValue()

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

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

Get<>()

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

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

SetAll()

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

cs 复制代码
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类型数据。

cs 复制代码
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秒,到期自动销毁,读取过期数据会返回空。

cs 复制代码
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数据库中保存到明天这个时间,到期自动销毁,读取过期数据会返回空。

cs 复制代码
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数据库中已经有的数据追加数据,注意,该追加的数据不进行序列化处理。

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

GetAndSetValue()

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

cs 复制代码
using (IRedisClient client=new RedisClient("127.0.0.1", 6379))
{
    client.GetAndSetValue("name", "小青龙");
}
相关推荐
BergerLee5 小时前
对不经常变动的数据集合添加Redis缓存
数据库·redis·缓存
5967851545 小时前
DotNetty ChannelRead接收数据为null
tcp/ip·c#
huapiaoy5 小时前
Redis中数据类型的使用(hash和list)
redis·算法·哈希算法
【D'accumulation】6 小时前
令牌主动失效机制范例(利用redis)注释分析
java·spring boot·redis·后端
Cikiss6 小时前
微服务实战——SpringCache 整合 Redis
java·redis·后端·微服务
weixin_464078076 小时前
C#串口温度读取
开发语言·c#
一休哥助手7 小时前
Redis 五种数据类型及底层数据结构详解
数据结构·数据库·redis
盒马盒马8 小时前
Redis:zset类型
数据库·redis
明耀8 小时前
WPF RadioButton 绑定boolean值
c#·wpf
Jay_fearless10 小时前
Redis SpringBoot项目学习
spring boot·redis