C#中Redis使用简单教程

03-15 2003阅读

C#开发者的Redis入门指南

Redis是一个高性能的内存数据库,常用于缓存、队列、实时数据分析等场景。作为一个C#开发者,了解如何使用Redis可以为你的应用程序带来巨大的好处。本文将向你介绍Redis基本概念,并提供一些C#的代码示例来帮助你入门。

一、Redis简介

        Redis是一个开源的高级键值存储系统,可以在内存中存储数据,并通过持久化机制将数据保存到磁盘上。Redis支持多种数据结构,如字符串、哈希、列表、集合和有序集合等。它提供了丰富的功能,如发布/订阅、事务、Lua脚本和复制等。

二、安装和配置Redis

        在使用Redis之前,首先需要安装Redis服务器。你可以从Redis官方网站(https://redis.io)下载最新版本的Redis并进行安装。

        安装完成后,打开Redis的配置文件(redis.conf),根据需要修改一些设置。例如,你可以通过修改"port"字段来更改服务器的监听端口,默认为6379。你还可以配置密码以提高安全性。

三、使用C#连接Redis

        在C#中,可以使用StackExchange.Redis库来连接Redis服务器。这是Redis官方推荐的C#客户端库,提供了简单易用的API,可轻松地与Redis进行交互。

        首先,你需要安装StackExchange.Redis库。在Visual Studio中,可以通过NuGet包管理器来安装。搜索StackExchange.Redis并选择安装即可。

下面是一个使用C#连接Redis并进行基本操作的示例:

namespace RedisDemo
{
    public class Program
    {
        static void Main(string[] args)
        {
            //创建连接
            ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("127.0.0.1:6379");
            //ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("127.0.0.1:6379,password = 123456");
            
            //获取数据库
            IDatabase database = redis.GetDatabase();
            //IDatabase database = redis.GetDatabase(1);//可以设置想连的redis的哪一个库
            //存储键值对
            database.StringSet("name", "value1");
            //存List集合
            var list = new List
            {
                new Student { id = 1, name = "立白", age = 20 },
                new Student { id = 2, name = "妄为", age = 40 },
                new Student { id = 3, name = "毒妇", age = 60 }
            };
            foreach (var item in list)
            {
                var hashEntries = new HashEntry[]
                {
                new HashEntry("ID", item.id),
                new HashEntry("Name", item.name),
                new HashEntry("Age", item.age)
                };
                database.HashSet(item.id.ToString(), hashEntries);
            }
            database.KeyExpire("1", TimeSpan.FromSeconds(3));//设置键为“1”的那条数据的超时时间:3秒
            获取键值对
            //var redisValue = database.StringGet("name");
            //Console.WriteLine(redisValue.ToString());
            删除键值对
            //bool result = database.KeyDelete("name");
            //var value = database.StringGet("name");
            //Console.WriteLine("删除结果:" + result.ToString());
            删除键为1,2,3
            //database.KeyDelete("1");
            //database.KeyDelete("2");
            //database.KeyDelete("3");
            //关闭redis
            redis.Close();
            Console.ReadLine();
        }
    }
    public class Student
    {
        public int id {  get; set; }
        public string name {  get; set; }
        public int age {  get; set; }
    }
}

注意: 连接redis时,需要先打开redis-server.exe服务(双击启动服务)

C#中Redis使用简单教程

双击闪退的时候,需要进入redis目录,输入cmd进入命令窗口。然后输入redis-server.exe redis.windows.conf回车,redis服务端就启动成功了(命令窗口关闭后服务也会关闭)

服务闪退原因参考:https://blog.csdn.net/SurepMan/article/details/131569019

C#中Redis使用简单教程

四、Redis的应用场景

  1. 缓存:将常用的数据存储在Redis中,可以大大提高访问速度和系统吞吐量。
  2. 队列:使用Redis的列表数据结构,可以实现简单而高性能的消息队列。
  3. 实时数据分析:通过Redis的有序集合等数据结构,实现对实时数据的快速分析和查询。
  4. 分布式锁:利用Redis的原子操作,可以实现简单而高效的分布式锁机制。

五、Redis桌面管理工具

        可以安装客户端 redis-desktop-manager对Redis可视化管理

C#中Redis使用简单教程

Redis开机自启设置:redis-server --service-install redis.windows-service.conf(进入redis目录,输入cmd进入命令窗口,然后输入此指令)

参考: https://blog.csdn.net/qq_38398634/article/details/110245754

六、总结

        详细数据类型存储可以参考:https://www.cnblogs.com/wl-blog/p/17260810.html

        客户端 redis-desktop-manager对Redis可视化管理在文章顶部资源即可下载,也可以去官网下载。

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]