• .Net 性能优化--缓存--分布式缓存 --sqlserver缓存


    .Net 性能优化--缓存,主要有内存缓存,分布式缓存,http缓存

    分布式缓存

    接着上篇的.Net 性能优化--缓存--内存缓存的讲,如有不清晰的地方请参考上篇文章.Net 性能优化--缓存--内存缓存

    上上篇的.Net 性能优化--缓存--内存缓存说的是使用asp.net core 自带的扩展 Microsoft.Extensions.Caching.Memory来进行缓存的处理,

    IMemoryCache缓存处理对于单个应该用程序是很方便,但是对于集群的话就存在一个致命的问题,就是各个集群之间无法相互访问,同时一旦应用程序关闭,那么缓存全部就都没有了,

    为了解决这个问题我们引出了分布式缓存,那么本篇主要使用分布式来处理缓存,对于分布式缓存有2种,一是redis 缓存,二是sqlserver 缓存,上篇讲了分布式-redis缓存,本篇讲分布式-sqlserver缓存

    分布式-sqlserver缓存

    1、使用NuGet添加项目引用 Microsoft.Extensions.Caching.SqlServer

    2、在Startup中注册服务,如下:

      

    3、在HomeController中添加如下内容:

      

    4、在Privacy.cshtml添加如下内容

    5、创建一个sqlserver 数据库的表,这个表用来存储sqlserver 缓存的,可以手动去创建,也可以使用sql-cache工具去创建(建议使用工具,本文使用的sql-cache工具),

    要使用sql-cache工具,就要先在电脑中安装了sql-cache工具,安装sql-cache工具命令如下:

    win+ R ,打开cmd 输入:dotnet tool install --global dotnet-sql-cache --version 3.1.1                  dotnet全局 安装指定版本的 sql-cache工具,

    注意:上述虽然安装成功了,但是提示 :工具目录 “C:UsersAdministrator.dotnet ools” 目前不在PATH环境变量中,

    接下来需要卸载重新安装以及设置环境变量

    由于本作者使用的是vs2019最新版本以及netcore 最新的,所以sql-cache的版本要和.netcore的版本保持一致需要安装最新版本,后面不添加 ----version 即为安装最新版本

    C:UsersAdministrator>dotnet tool uninstall dotnet-sql-cache --global

    已成功卸载工具“dotnet-sql-cache”(版本“3.1.1”)。

    C:UsersAdministrator>dotnet tool install --global dotnet-sql-cache

    已成功卸载工具“dotnet-sql-cache”(版本“3.1.2”)。

    C:UsersAdministrator>dotnet tool uninstall dotnet-sql-cache --global

    已成功卸载工具“dotnet-sql-cache”(版本“3.1.2”)。

    //设置环境变量

    C:UsersAdministrator>setx PATH "%PATH%;C:UsersAdministrator.dotnet ools"

    成功: 指定的值已得到保存。

    C:UsersAdministrator>dotnet tool install --global dotnet-sql-cache

    由于刚安装了 .NET Core SDK,因此在运行安装的工具之前,需要重新打开命令提示符窗口。

    可使用以下命令调用工具: dotnet-sql-cache 已成功安装工具“dotnet-sql-cache”(版本“3.1.2”)。

    C:UsersAdministrator>

    设置环境变量之后提示需要重新打开命令提示符窗口,这是关掉cmd窗口,重新打开,win+ R ,打开cmd,输入:dotnet tool install --global dotnet-sql-cache

    Microsoft Windows [版本 10.0.17763.1131]

    (c) 2018 Microsoft Corporation。保留所有权利。

    C:UsersAdministrator>dotnet tool install --global dotnet-sql-cache
    已安装工具“dotnet-sql-cache”。

    输入:dotnet tool install --global dotnet-sql-cache,提示已安装,则表示dotnet-sql-cache安装成功,并设置了环境变量,下面就是创建数据库

    输入:dotnet sql-cache create "Data Source=(localdb)MSSQLLocalDB;Initial Catalog=master;Integrated Security=True;" dbo mysqlserverCache

    C:UsersAdministrator>dotnet sql-cache create "Data Source=(localdb)MSSQLLocalDB;Initial Catalog=master;Integrated Security=True;" dbo mysqlserverCache
    Table and index were created successfully.

    C:UsersAdministrator>

    master数据库下的dbo框架下的mysqlserverCache表创建成功

    打开数据库可以看到

    5、运行

    运行项目,结果如下

     6、在上图运行结果中发现 数据库中的时间格式不对,这是因为时区设置不对,是默认的时区,没有设置成当前的时区,

     设置时区,如下:

    新建MySystemClock时钟类,该类MySystemClock继承ISystemClock,代码如下:

    在Startup中注册服务修改如下如下:

     运行结果

  • 相关阅读:
    【洛谷P2927 [USACO08DEC]拼图游戏Jigsaw Puzzles】深搜
    【洛谷1219】 八皇后 (搜索)
    【Uva 12558】 Egyptian Fractions (HARD version) (迭代加深搜,IDA*)
    【转】DCX (数独-八皇后问题)
    【2016 11 14】 总结
    【HDU 3038】 How Many Answers Are Wrong (带权并查集)
    【POJ1182】 食物链 (带权并查集)
    【20161111双11模拟赛】总结
    【HDU 5381】 The sum of gcd (子区间的xx和,离线)
    【HDU 5233】Tree chain problem (树形DP+树剖+线段树|树状数组)最大权不相交树链集
  • 原文地址:https://www.cnblogs.com/1175429393wljblog/p/12531421.html
Copyright © 2020-2023  润新知