.NET StackExchange.Redis 操作redis

发布于:2024-04-24 ⋅ 阅读:(19) ⋅ 点赞:(0)

下面是一个简单的示例,展示了如何使用 C# 中的 StackExchange.Redis 库与 Redis 进行交互,包括字符串(String)、哈希(Hash)、列表(List)、集合(Set)和有序集合(Sorted Set)操作。每个命令都有一个单独的方法来执行相应的 Redis 命令。

首先,你需要在 Visual Studio 中安装 StackExchange.Redis 库。你可以通过 NuGet 包管理器或者在包管理控制台中执行 Install-Package StackExchange.Redis 来完成。

然后,可以使用以下示例代码:

using System;
using StackExchange.Redis;

class Program
{
    static ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("localhost");

    static void Main(string[] args)
    {
        TestString();
        TestHash();
        TestList();
        TestSet();
        TestSortedSet();

        Console.ReadLine();
    }

    static void TestString()
    {
        IDatabase db = redis.GetDatabase();

        string key = "myString";
        db.StringSet(key, "Hello, Redis!");

        string value = db.StringGet(key);
        Console.WriteLine($"String value: {value}");
    }

    static void TestHash()
    {
        IDatabase db = redis.GetDatabase();
        string key = "myHash";

        db.HashSet(key, "name", "John");
        db.HashSet(key, "age", 30);

        string name = db.HashGet(key, "name");
        int age = (int)db.HashGet(key, "age");

        Console.WriteLine($"Hash name: {name}, age: {age}");
    }

    static void TestList()
    {
        IDatabase db = redis.GetDatabase();
        string key = "myList";

        db.ListLeftPush(key, "Apple");
        db.ListLeftPush(key, "Banana");
        db.ListLeftPush(key, "Orange");

        var values = db.ListRange(key);
        foreach (var value in values)
        {
            Console.WriteLine($"List item: {value}");
        }
    }

    static void TestSet()
    {
        IDatabase db = redis.GetDatabase();
        string key = "mySet";

        db.SetAdd(key, "Apple");
        db.SetAdd(key, "Banana");
        db.SetAdd(key, "Orange");

        var values = db.SetMembers(key);
        foreach (var value in values)
        {
            Console.WriteLine($"Set member: {value}");
        }
    }

    static void TestSortedSet()
    {
        IDatabase db = redis.GetDatabase();
        string key = "mySortedSet";

        db.SortedSetAdd(key, "Apple", 1);
        db.SortedSetAdd(key, "Banana", 2);
        db.SortedSetAdd(key, "Orange", 3);

        var values = db.SortedSetRangeByRank(key);
        foreach (var value in values)
        {
            Console.WriteLine($"Sorted set member: {value}");
        }
    }
}

这个示例演示了如何连接到本地 Redis 实例,并分别使用字符串、哈希、列表、集合和有序集合的命令进行交互。每个命令都被封装在一个单独的方法中,使代码更清晰易读。