• .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数据库中的所有值。

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

    Set<>() 

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

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

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

    Add<>()

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

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

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

    GetValue() 

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

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

    Get<>()

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

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

    SetAll()

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

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

    GetAll() 

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

    1. using (IRedisClient client=new RedisClient("127.0.0.1", 6379))
    2. {
    3. var NewList = new string[] { "item", "name" };
    4. var RedisList = client.GetAll<string>(NewList);
    5. foreach(var v in RedisList)
    6. {
    7. Console.WriteLine(v);
    8. Console.WriteLine(v.Value);
    9. }
    10. }

    设置数据过期时间

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

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

     TimeSpan.FromHours(1)一小时

    TimeSpan.FromDays(1)一天

    TimeSpan.FromMinutes(1)一分钟

    设置数据特定过期时间 

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

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

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

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

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

    AppendToValue()

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

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

    GetAndSetValue()

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

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

     

  • 相关阅读:
    JAVA并发编程——线程池详解
    性能指标都不了解,如何做性能测试?
    多媒体应用设计师 第5章 多媒体信息显示、发布及搜索技术
    [DownUnderCTF 2022] crypto部分复现
    【网络】OSI七层模型,HTTP、Cookie和Session、GET和POST,HTTPS
    上周热点回顾(3.28-4.3)
    osWorkflow-1——osWorkflow官方例子部署启动运行(版本:OSWorkflow-2.8.0)
    Unraid 使用技巧集合
    验证曲线(validation_curve)项目实战
    运行时数据区
  • 原文地址:https://blog.csdn.net/qq_58159494/article/details/134478512