C#使用Redis

来源:http://www.cnblogs.com/f-z-h/archive/2017/06/26/7080404.html
-Advertisement-
Play Games

一,引入dll 1.ServiceStack.Common.dll 2.ServiceStack.Interfaces.dll 3.ServiceStack.Redis.dll 4.ServiceStack.Text.dll 二,修改配置文件 在你的配置文件中加入如下的代碼: <appSetting ...


一,引入dll

  1.ServiceStack.Common.dll

  2.ServiceStack.Interfaces.dll

  3.ServiceStack.Redis.dll

  4.ServiceStack.Text.dll

二,修改配置文件

  在你的配置文件中加入如下的代碼:

  <appSettings>
  <add key="RedisPath" value="127.0.0.1:6379"/>    todo:這裡配置自己redis的ip地址和埠號
  </appSettings>

二,用到的工具類

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ServiceStack.Redis;

namespace RedisDemo
{
    /// <summary>
    /// RedisManager類主要是創建鏈接池管理對象的
    /// </summary>
    public class RedisManager
    {
        /// <summary>
        /// redis配置文件信息
        /// </summary>
        private static string RedisPath = System.Configuration.ConfigurationSettings.AppSettings["RedisPath"];
        private static PooledRedisClientManager _prcm;

        /// <summary>
        /// 靜態構造方法,初始化鏈接池管理對象
        /// </summary>
        static RedisManager()
        {
            CreateManager();
        }

        /// <summary>
        /// 創建鏈接池管理對象
        /// </summary>
        private static void CreateManager()
        {
            _prcm = CreateManager(new string[] { RedisPath }, new string[] { RedisPath });
        }

        
        private static PooledRedisClientManager CreateManager(string[] readWriteHosts, string[] readOnlyHosts)
        {
            //WriteServerList:可寫的Redis鏈接地址。
            //ReadServerList:可讀的Redis鏈接地址。
            //MaxWritePoolSize:最大寫鏈接數。
            //MaxReadPoolSize:最大讀鏈接數。
            //AutoStart:自動重啟。
            //LocalCacheTime:本地緩存到期時間,單位:秒。
            //RecordeLog:是否記錄日誌,該設置僅用於排查redis運行時出現的問題,如redis工作正常,請關閉該項。
            //RedisConfigInfo類是記錄redis連接信息,此信息和配置文件中的RedisConfig相呼應

            // 支持讀寫分離,均衡負載 
            return new PooledRedisClientManager(readWriteHosts, readOnlyHosts, new RedisClientManagerConfig
            {
                MaxWritePoolSize = 5, // “寫”鏈接池鏈接數 
                MaxReadPoolSize = 5, // “讀”鏈接池鏈接數 
                AutoStart = true,
            });
        }

        private static IEnumerable<string> SplitString(string strSource, string split)
        {
            return strSource.Split(split.ToArray());
        }

        /// <summary>
        /// 客戶端緩存操作對象
        /// </summary>
        public static IRedisClient GetClient()
        {
            if (_prcm == null)
            {
                CreateManager();
            }
            return _prcm.GetClient();
        }

    }
}

三,main方法執行存儲操作與讀取操作

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ServiceStack.Redis;
using ServiceStack.Redis.Support;

namespace RedisDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                //獲取Redis操作介面
                IRedisClient Redis = RedisManager.GetClient();
                //放入記憶體
                Redis.Set<string>("my_name", "小張");
                Redis.Set<int>("my_age", 12);
                //保存到硬碟
                Redis.Save();
                //釋放記憶體
                Redis.Dispose();
                //取出數據
                Console.WriteLine("取出剛纔存進去的數據 \r\n 我的Name:{0}; 我的Age:{1}.",
                    Redis.Get<string>("my_name"), Redis.Get<int>("my_age"));
                
                Console.ReadKey();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message.ToString());
                Console.ReadKey();
            }
        }
    }
}

完活,下麵是運行後的結果

 

 

redis基礎操作,希望能幫到剛開始接觸redis的朋友。謝謝!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • vue的事件: vue事件簡寫: vue中事件是 v-on:click=' show()' 但是我嫌棄它寫太長每次動 v-on: 事件 vue中就有事件簡寫 @click='show()' 這會不會就好點了呢!<!DOCTYPE html> vue的事件對象: vue中當然也有事件對象了 , 這樣@ ...
  • animation-timging-function 主要是控制css動畫從開始到結束的速度。 linear:線性過渡。等同於貝塞爾曲線(0.0, 0.0, 1.0, 1.0)ease:平滑過渡。等同於貝塞爾曲線(0.25, 0.1, 0.25, 1.0)ease-in:由慢到快。等同於貝塞爾曲線( ...
  • 一句話概括的話:閉包就是一個函數,捕獲作用域內的外部綁定。 官方的定義:一個擁有許多變數和綁定了這些變數的環境的表達式(通常是一個函數),因為這些變數也稱為該表達式的一部分。 自由變數和閉包的關係:自由變數閉合於閉包的創建。 內部邏輯就是 自由變數:如果一個函數內部有其他函數,那麼這些內部函數可以訪 ...
  • Swiper(Swiper master)是目前應用較廣泛的移動端網頁觸摸內容滑動js插件,可以用來做輪播和滑動. 初始化 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <link rel="styleshe ...
  • 作者:Antonio Leiva 時間:Jun 20, 2017 原文鏈接:https://antonioleiva.com/objects-kotlin/ Kotlin對象是Android開發人員不熟悉的另一個語言元素,因為在Java中沒有這樣的東西。 事實上,對象就是具有單一實現的數據類型。所以 ...
  • 以下代碼是一個顯示圖片的RecyclerView 的Adapter用到的,當點擊圖片,跳到另一個Activity顯示大圖。RecyclerView 與ListView不同 然而沒有setOnClickListener() 方法, 設置事件監聽, 使用下麵的方式。點擊後獲取到圖片url 傳遞給另一個a ...
  • 場景描述 誤 drop 了生產庫中的用戶 U1 U1 用戶下麵有 3 張表(T1 T3),表中數據如下所示: 前期準備 第一步,查詢 v$log、v$archived_log中每個日誌的 First SCN/ First Time 和 Next SCN/Next Time,根據時間推測該刪除操作會在 ...
  • 第6節 文件打包與解壓縮 《Linux 基礎入門(新版)》學習筆記 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...