.Net Core使用Redis的一个入门简单Demo

本例子讲述一个在.Net core环境中对Redis数据库进行增删改查操作。

首先,要安装好Redis数据库,至于怎么安装,本文不再赘述,可以自行百度,有很详细的教程。

安装好之后,在CMD中输入

redis-cli

就会出现Redis数据库的IP和端口,记下,后面链接字符串中要用。

,然后新建一个.Net Core控制台应用程序。

在程序包管理器控制台中导入Redis数据库的驱动。

PM> Install-Package ServiceStack.Redis

程序包管理器控制台额度打开方式如下:

成功导入了驱动后,打开programe.cs,导入以下命名空间。

using ServiceStack;
using ServiceStack.Text;
using ServiceStack.Redis;
using ServiceStack.DataAnnotations;

然后新建一个Todo类。

using System;
using System.Collections.Generic;
using System.Text;

namespace RedisDotNetDemo
{
    class Todo
    {
        public long Id { get; set; }
        public string Content { get; set; }
        public int Order { get; set; }
        public bool Done { get; set; }
    }
}

回到Programe.cs中,在Main函数中添加以下代码。

  static void Main(string[] args)
        {
            var redisManger = new RedisManagerPool("127.0.0.1:6379");      //Redis的连接字符串
            var redis = redisManger.GetClient();                           //获取一个Redis Client
            var redisTodos = redis.As<Todo>();
            var  newTodo=new Todo                                          //实例化一个Todo类
            {
                Id = redisTodos.GetNextSequence(),
                Content = "Learn Redis",
                Order = 1,
            };
            redisTodos.Store(newTodo);                                    //把newTodo实例保存到数据库中    增     
            Todo saveTodo = redisTodos.GetById(newTodo.Id);               //根据Id查询        查
            "Saved Todo: {0}".Print(saveTodo.Dump());

            saveTodo.Done = true;                                         //改
            redisTodos.Store(saveTodo);

            var updateTodo = redisTodos.GetById(newTodo.Id);            //查
            "Updated Todo: {0}".Print(updateTodo.Dump());

            redisTodos.DeleteById(newTodo.Id);                           //删除

            var remainingTodos = redisTodos.GetAll();
            "No more Todos:".Print(remainingTodos.Dump());

            Console.ReadLine();
        }

结果如下:

可以看到执行删除操作后,已经没有结果输出了。

好了,这是一个简单的入门例子,后面我学习过程中有更多的心得体会还会再次总结,欢迎大家与我交流。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏恰童鞋骚年

.NET Core微服务之基于MassTransit实现数据最终一致性(Part 1)

  关于数据一致性的文章,园子里已经有很多了,如果你还不了解,那么可以通过以下的几篇文章去快速地了解了解,有个感性认识即可。

15350
来自专栏张善友的专栏

Quartz.net官方开发指南 第九课: JobStore

JobStore负责保持对所有scheduler “工作数据”追踪,这些工作数据包括:job(任务),trigger(触发器),calendar(日历)等。为你...

26690
来自专栏Porschev[钟慰]的专栏

Asp.net 后台添加CSS、JS、Meta标签(帮助类)

#region##添加JS文件 ///<summary> /// 添加JS文件 /// 创建人:Porschev ///...

22750
来自专栏林德熙的博客

C# 获取 PC 序列号

在 C++ 需要使用 GetSystemFirmwareTable 的方法来获得 PC 的序列号,需要写的代码很多,但是在 C# 可以使用 WMI 来拿到序列号

28110
来自专栏逸鹏说道

避免在ASP.NET Core中使用服务定位器模式

题记:服务定位器(Service Locator)作为一种反模式,一般情况下应该避免使用,在ASP.NET Core更是需要如此。 Scott Allen在其博...

32980
来自专栏Python攻城狮

Django教程(五)- 上传及显示

9830
来自专栏技术小讲堂

LINQ to SQL(3):增删改查

上一节中,我已经写过了利用OR设计器生成对象模型的方式,其实生成这样对数据库进行映射的模型的方式不只这一种,不过VS为我们提供的这种设计器真的是很强大,在实际应...

33990
来自专栏xingoo, 一个梦想做发明家的程序员

Zookeeper学习笔记——2 Shell和Java API的使用

ZooKeeper的使用一般都接触不到,因为平时工作甚少直接使用ZK。但是通过手动操作一下ZK,还是能对其中的门道了解各一二。 shell 常用命令 he...

29550
来自专栏ZKEASOFT

纸壳CMS的插件加载机制

纸壳CMS是基于插件化设计的,可以通过扩展插件来实现不同的功能。如何通过插件来扩展,可以参考这篇文章:

12520
来自专栏古时的风筝

ASP.NET-自定义HttpModule与HttpHandler

在之前的ASP.NET是如何在IIS下工作的这篇文章中介绍了ASP.NET与IIS配合工作的机制,在http请求经过一系列处理后,最后到达ASP.NET管道中...

31780

扫码关注云+社区

领取腾讯云代金券