• C#中Redis使用简单教程


    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并进行基本操作的示例:

    1. namespace RedisDemo
    2. {
    3. public class Program
    4. {
    5. static void Main(string[] args)
    6. {
    7. //创建连接
    8. ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("127.0.0.1:6379");
    9. //ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("127.0.0.1:6379,password = 123456");
    10. //获取数据库
    11. IDatabase database = redis.GetDatabase();
    12. //IDatabase database = redis.GetDatabase(1);//可以设置想连的redis的哪一个库
    13. //存储键值对
    14. database.StringSet("name", "value1");
    15. //存List集合
    16. var list = new List
    17. {
    18. new Student { id = 1, name = "立白", age = 20 },
    19. new Student { id = 2, name = "妄为", age = 40 },
    20. new Student { id = 3, name = "毒妇", age = 60 }
    21. };
    22. foreach (var item in list)
    23. {
    24. var hashEntries = new HashEntry[]
    25. {
    26. new HashEntry("ID", item.id),
    27. new HashEntry("Name", item.name),
    28. new HashEntry("Age", item.age)
    29. };
    30. database.HashSet(item.id.ToString(), hashEntries);
    31. }
    32. database.KeyExpire("1", TimeSpan.FromSeconds(3));//设置键为“1”的那条数据的超时时间:3秒
    33. 获取键值对
    34. //var redisValue = database.StringGet("name");
    35. //Console.WriteLine(redisValue.ToString());
    36. 删除键值对
    37. //bool result = database.KeyDelete("name");
    38. //var value = database.StringGet("name");
    39. //Console.WriteLine("删除结果:" + result.ToString());
    40. 删除键为123
    41. //database.KeyDelete("1");
    42. //database.KeyDelete("2");
    43. //database.KeyDelete("3");
    44. //关闭redis
    45. redis.Close();
    46. Console.ReadLine();
    47. }
    48. }
    49. public class Student
    50. {
    51. public int id { get; set; }
    52. public string name { get; set; }
    53. public int age { get; set; }
    54. }
    55. }

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

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

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

    四、Redis的应用场景

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

    五、Redis桌面管理工具

            可以安装客户端 redis-desktop-manager对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可视化管理在文章顶部资源即可下载,也可以去官网下载。

  • 相关阅读:
    【数字实验室】在时序逻辑中使用阻塞赋值会怎么样?
    Iceberg Flink FLIP-27实现
    梳理一名Go后端程序员日常用的软件~
    Linux:多行shell命令转成单行命令形式的方法
    Nanoprobes EnzMet - 酶金相相关介绍及应用
    java计算机毕业设计教师职称评定系统源码+mysql数据库+系统+lw文档+部署
    大一学生Web课程设计 美食主题网页制作(HTML+CSS+JavaScript)
    Typora+PicGO+腾讯云COS做图床
    Springboot毕业设计毕设作品,心理评测系统 开题报告
    Python基础知识详解:数据类型、对象结构、运算符完整分析
  • 原文地址:https://blog.csdn.net/weixin_57242877/article/details/133988315