OsharpNS輕量級.net core快速開發框架簡明入門教程-Osharp.Redis使用

OsharpNS輕量級.net core快速開發框架簡明入門教程

教程目錄html

  1. 從零開始啓動Osharp前端

    1.1. 使用OsharpNS項目模板建立項目git

    1.2. 配置數據庫鏈接串並啓動項目github

    1.3. OsharpNS.Swagger使用實例(登陸和受權)redis

    1.4. Angular6的前端項目啓動數據庫

  2. Osharp代碼生成器的使用json

    2.1 生成器的使用windows

    2.2 生成代碼詳解(如何本身實現業務功能)緩存

  3. Osharp部分模塊使用app

    3.1 Osharp.Redis使用

    3.2 Osharp.Hangfire使用

    3.3 Osharp.Permissions使用

  4. Osharp深度學習和使用

    4.1 切換數據庫(從SqlServer改成MySql)

    4.2 多上下文配置(多個數據庫的使用)

    4.3. 自定義模塊的定義(Senparc.Weixin的使用)

    4.4. 繼續學習中....

OsharpNS官方資源 項目地址:https://github.com/i66soft/osharp-ns20 演示地址:https://www.osharp.org 直接使用QQ登陸能夠查看效果 文檔地址:https://docs.osharp.org 正在完善中.... 發佈博客:https://www.cnblogs.com/guomingfeng/p/osharpns-publish.html 大神看這個文檔應該就能跑起來,從零開始啓動Osharp基於此文檔完成 VS生成器插件:https://marketplace.visualstudio.com/items?itemName=LiuliuSoft.osharp 官方交流QQ羣:85895249

OsharpNS.Redis使用

目錄

  1. 在Windows下配置Redis

  2. 使用RedisDesktopManager鏈接Redis

  3. Osharp啓用Redis

  4. Osharp初始化緩存查看

  5. Osharp緩存使用方法

<a name="1">在Windows下配置Redis</a>

  1. 前往https://github.com/MicrosoftArchive/redis/releases下載Windows版的Redis(.msi後綴),並完成安裝

    點擊版本號,進入對應版本的下載界面,下載.msi格式的就行

    安裝時基本都是默認選項,下面這個界面的時候注意選下下面的選項

  2. Redis開啓遠程訪問,注意修改的配置文件通常是redis安裝目錄下redis.windows-service.conf

    網上不少文檔都說改redis.windows.conf, 改了也沒用;

    其實咱們能夠查看一下服務裏面的信息,看看到底使用的是那個配置文件,是哪一個就改哪一個,以下圖:

      

    配置文件基本修改兩個地方便可; 

      

    修改完之後,重啓redis服務便可;

<a name="2">使用RedisDesktopManager鏈接Redis</a>

  1. 下載工具,工具是收費的,我是在https://www.newasp.net/soft/391754.html下載的,病毒本身鑑別,也能夠本身找連接,反正下載安裝了就行

  2. 配置鏈接

<a name="3">Osharp啓用Redis</a>

  1. 修改appsettings.Development.json中的Redis節點

  1. 配置說明

    2.1 Configuration配置鏈接串,由於Redis沒有配置密碼,只要填寫localhost,若有密碼,參考格式phone.qiadoo.com:6379,password=密碼

    2.2 InstanceName配置Redis中的前綴,名稱中建議以:結尾,具體效果本身對比

    2.3 Enabled配置是否啓用,固然要改成true

<a name="4">Osharp初始化緩存查看</a>

  1. 啓動項目,進入Swagger界面

  2. 使用工具查看Redis的數據,能夠看到系統初始化後加載的數據

    2.1 FunctionRoles緩存,初始化代碼位於項目OSharp.Permissions,命名空間OSharp.Permission.SecurityPackBase

    2.2 All_KeyValue_Key緩存,初始化代碼位於項目OSharp.Permissions,命名空間OSharp.Systems.SystemPack

<a name="5">OSharp緩存使用方法</a>

  1. 緩存使用
// -----------------------------------------------------------------------
   //  <copyright file="TestController.cs" company="OSharp開源團隊">
   //      Copyright (c) 2014-2018 OSharp. All rights reserved.
   //  </copyright>
   //  <site>http://www.osharp.org</site>
   //  <last-editor>郭明鋒</last-editor>
   //  <last-date>2018-06-27 4:50</last-date>
   // -----------------------------------------------------------------------
   
   using System;
   using System.Collections.Generic;
   using System.ComponentModel;
   using System.Linq;
   using System.Threading.Tasks;
   
   using CanDoo.Test.Identity;
   using CanDoo.Test.Identity.Dtos;
   using CanDoo.Test.Identity.Entities;
   
   using Microsoft.AspNetCore.Identity;
   using Microsoft.AspNetCore.Mvc;
   using Microsoft.AspNetCore.Mvc.Filters;
   using Microsoft.Extensions.Caching.Distributed;
   using Microsoft.Extensions.DependencyInjection;
   using Microsoft.Extensions.Logging;
   
   using OSharp.AspNetCore;
   using OSharp.AspNetCore.Mvc;
   using OSharp.AspNetCore.Mvc.Filters;
   using OSharp.Caching;
   using OSharp.Collections;
   using OSharp.Core.Systems;
   using OSharp.Data;
   using OSharp.Dependency;
   using OSharp.Entity;
   using OSharp.Exceptions;
   using OSharp.Identity;
   using OSharp.Json;

   namespace CanDoo.Test.Web.Controllers
   {
       [Description("網站-緩存測試")]
       [ClassFilter]
       public class TestCacheController : ApiController
       {
           private readonly IDistributedCache _cache;

           public TestCacheController(IDistributedCache cache, IKeyValueStore keyValueStore)
           {
               _cache = cache;
           }
    
           [HttpGet]
           [MethodFilter]
           [Description("寫入緩存")]
           public async Task<string> Write()
           {
               await _cache.SetAsync("TestWrite", "Test");
               return "緩存寫入完成";
           }
    
           [HttpGet]
           [MethodFilter]
           [Description("讀取緩存")]
           public async Task<string> Read()
           {
               return await _cache.GetAsync<string>("TestWrite");
           }
    
           [HttpGet]
           [MethodFilter]
           [Description("移除緩存")]
           public async Task<string> Remove()
           {
               await _cache.RemoveAsync("TestWrite");
               return "緩存移除完成";
           }
       }

   }
  1. 鍵值對使用
// -----------------------------------------------------------------------
   //  <copyright file="SettingsController.cs" company="OSharp開源團隊">
   //      Copyright (c) 2014-2018 OSharp. All rights reserved.
   //  </copyright>
   //  <site>http://www.osharp.org</site>
   //  <last-editor>郭明鋒</last-editor>
   //  <last-date>2018-06-27 4:50</last-date>
   // -----------------------------------------------------------------------

   using System;
   using System.ComponentModel;
   using System.Threading.Tasks;

   using CanDoo.Test.Systems.Dtos;

   using Microsoft.AspNetCore.Mvc;

   using Newtonsoft.Json;

   using OSharp.AspNetCore.Mvc.Filters;
   using OSharp.AspNetCore.UI;
   using OSharp.Core.Modules;
   using OSharp.Core.Systems;
   using OSharp.Data;
   using OSharp.Exceptions;

   namespace CanDoo.Test.Web.Areas.Admin.Controllers
   {
       [ModuleInfo(Order = 1, Position = "Systems", PositionName = "系統管理模塊")]
       [Description("管理-系統設置")]
       public class SettingsController : AdminApiController
       {
           private readonly IKeyValueStore _keyValueStore;

           /// <summary>
           /// 初始化一個<see cref="SettingsController"/>類型的新實例
           /// </summary>
           public SettingsController(IKeyValueStore keyValueStore)
           {
               _keyValueStore = keyValueStore;
           }
    
           /// <summary>
           /// 讀取設置
           /// </summary>
           /// <param name="root">設置根節點,如投票設置爲Votes</param>
           /// <returns>相應節點的設置信息</returns>
           [HttpGet]
           [ModuleInfo]
           [Description("讀取設置")]
           public IActionResult Read(string root)
           {
               ISetting setting;
               switch (root)
               {
                   case "System":
                       setting = _keyValueStore.GetSetting<SystemSetting>();
                       break;
                   default:
                       throw new OsharpException($"未知的設置根節點: {root}");
               }
    
               return Json(new SettingOutputDto(setting));
           }
    
           /// <summary>
           /// 保存指定設置項
           /// </summary>
           /// <param name="dto">設置信息</param>
           /// <returns>JSON操做結果</returns>
           [HttpPost]
           [ModuleInfo]
           [Description("保存設置")]
           [ServiceFilter(typeof(UnitOfWorkAttribute))]
           public async Task<AjaxResult> Update(SettingInputDto dto)
           {
               Check.NotNull(dto, nameof(dto));
    
               Type type = Type.GetType(dto.SettingTypeName);
               if (type == null)
               {
                   return new AjaxResult($"設置類型\"{dto.SettingTypeName}\"沒法找到");
               }
               ISetting setting = JsonConvert.DeserializeObject(dto.SettingJson, type) as ISetting;
               OperationResult result = await _keyValueStore.SaveSetting(setting);
               if (result.Succeeded)
               {
                   return new AjaxResult("設置保存成功");
               }
               return result.ToAjaxResult();
           }
       }

   }

原文出處:https://www.cnblogs.com/candoo/p/10790121.html

相關文章
相關標籤/搜索