91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

一文教你正確的使用Redis

發布時間:2020-11-19 14:32:55 來源:億速云 閱讀:162 作者:Leah 欄目:開發技術

一文教你正確的使用Redis?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

下載Redis

官網提供的Redis安裝包是服務于Linux的,而我們需要在Window下使用Redis,

如下圖所示,Redis的windows版是由microsoftarchive提供,是微軟的一個工作小組,所以我們可以選擇完全信任,下面我們選擇最新版的Redis版本下載(可以看到,盡管是最新版本,但最后一次提交已經是2016年了)

一文教你正確的使用Redis

下載完成后解壓到文件夾,得到文件如下:

一文教你正確的使用Redis

重要文件講解:

redis-server.exe:Redis服務端宿主程序,運行后會啟動一個控制臺窗體,該窗體是宿主程序,如關閉窗體,則Redis服務關閉。

redis-check-dump.exe:本地數據庫檢查程序。

redis-check-aof.exe:更新日志檢查程序。

redis-benchmark.exe:性能測試,用以模擬同時由N個客戶端發送M個 SETs/GETs 查詢。

redis-cli.exe: Redis客戶端程序,服務端開啟后,可以通過該客戶端進行命令測試。(運行后,會啟動一個控制臺窗體,可在控制臺內輸入命令)

Windows Service Documentation.docx:Redis服務端使用文檔。

redis.windows-service.conf:Redis啟動服務默認加載的配置文件(下文會介紹如何將Redis服務已Windows服務模式啟動),雙擊redis-server.exe啟動時并不加載該文件,雙擊exe啟動時會提示未指定配置文件,使用默認配置,這個默認配置應該是exe內部編寫的。

redis.windows.conf :Redis配置文件,其內容和redis.windows-service.conf是一模一樣的,相當于一個備份,如果希望Redis讀取的配置文件是redis.windows.conf ,則需要對Redis進行命令操作,重新設置配置文件。

了解Redis文件信息后,我們運行redis-server.exe,然后我們編寫一個C#的控制臺項目訪問Redis。

Redis訪問

C#想訪問Redis需要使用開源類庫,那么應該使用哪個類庫呢?

打開Redis的中文官網http://www.redis.cn/,在客戶端菜單下可以發現C#可用的Redis客戶端很多,如下圖:

一文教你正確的使用Redis

這里我們使用ServiceStack.Redis來訪問Redis。

創建項目

首先我們創建一個項目RedisConsole,然后在Nuget下搜索ServiceStack.Redis,如下圖:

一文教你正確的使用Redis

然后創建一個RedisManager類來管理Redis,代碼如下:

using ServiceStack.Redis;
using ServiceStack.Text;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.Serialization.Formatters.Binary;
using System.Text;
using System.Threading.Tasks;
​
namespace RedisConsole
{
  /// <summary>
  /// RedisManager類主要是創建鏈接池管理對象的
  /// </summary>
  public class RedisManager
  {
    /// <summary>
    /// 綁定本機Redis
    /// </summary>
    private static string ConnStr = "localhost:6379";//password@ip:port 123@localhost:6379
    private static PooledRedisClientManager _prcm;
&#8203;
     
    /// <summary>
    /// 靜態構造方法,初始化鏈接池管理對象
    /// </summary>
    static RedisManager()
    {
      _prcm = CreateManager(new string[] { ConnStr }, new string[] { ConnStr });
    }
    /// <summary>
    /// 創建鏈接池管理對象
    /// </summary>
    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,
      },
      0,//初始化數據庫 默認有16個數據 這里設置初始化為第0個
      50,//連接池數量
      5//連接池超時秒數
      )
      {
        ConnectTimeout = 6000,//連接超時時間,毫秒
        SocketSendTimeout = 6000,//數據發送超時時間,毫秒
        SocketReceiveTimeout = 6000,// 數據接收超時時間,毫秒
        IdleTimeOutSecs = 60,//連接最大的空閑時間 默認是240
        PoolTimeout = 6000 //連接池取鏈接的超時時間,毫秒
      };
    }
&#8203;
    /// <summary>
    /// 客戶端緩存操作對象
    /// </summary>
    public static IRedisClient GetClient()
    {
      if (_prcm == null)
      {
        _prcm = CreateManager(new string[] { RedisPath }, new string[] { RedisPath });
      }
      return _prcm.GetClient();
    }
  }
 }

然后在Main函數里使用RedisManager來進行寫入和讀取,代碼如下:

static void Main(string[] args)
    {
      var redisClient = RedisManager.GetClient();
      redisClient.Set<string>("Name", "Kiba518");
      redisClient.Set<int>("Age", 10000); 
      Console.WriteLine($"MyName:{redisClient.Get<string>("Name")}====MyAge:{redisClient.Get<int>("Age")}");
      redisClient.Dispose(); //釋放內存
      Console.ReadLine();
    }

運行結果如下圖所示:

一文教你正確的使用Redis

可以看到,我們成功的完成了Redis的插入和讀取。

但我們不滿足于此,我們需要一個圖形管理界面更直觀的查看Redis數據庫。

下載RedisStudio。

下載地址:https://github.com/cinience/RedisStudio/releases

運行RedisStudio,連接本地Redis,如下圖:

一文教你正確的使用Redis

連接成功后,點擊Data菜單,查看數據。

一文教你正確的使用Redis

可以看到,我們添加的數據被寫進了第0個數據庫(Redis默認會創建16個數據庫,數據庫編號以0開頭)。

Redis的Windows服務

使用Cmd的命令窗口作為Redis的宿主進程確實有一些問題,比如關閉了就不能用了,比如不能開機自啟。為了讓Redis服務可以更好的運行,我們需要把Redis的宿主改成Windows是服務。

這件事不需要我們自行開發,redis-server.exe中已經提供了這些功能,它的Main函數會處理一些他接受的參數。

現在我們使用命令行啟動redis-server.exe。

注:使用Redis命令時,需要在先將目錄跳轉到Redis所在文件夾,如【cd/d D:\Redis-x64-3.2.100】

redis-server.exe --service-install redis.windows.conf --loglevel verbose

參數介紹:

service-install:啟動Redis服務安裝,必須是第一個參數。

redis.windows.conf:指定配置文件。

loglevel verbose:日志級別。

CMD運行結果如下圖所示:

一文教你正確的使用Redis

查看服務。

一文教你正確的使用Redis

如上圖所示,服務已經成功的安裝到系統中了,右鍵就可以啟動服務了。

當然我們也可以通過命令行啟動和關閉服務,命令如下:

啟動服務命令:redis-server.exe --service-start

關閉服務命令:redis-server.exe --service-stop

刪除服務命令:redis-server.exe--service-uninstall

CMD運行關閉服務結果如下圖:

一文教你正確的使用Redis

注意:redis.windows.conf文件默認配置的IP需要修改成本機的IP,window服務才能正常啟動。

一文教你正確的使用Redis

配置密碼

我們都知道數據庫是需要密碼的,這樣才能保證安全性,不然任何一個知道你服務器IP的人只要按個端口試一遍就可以連接你的數據庫了。

Redis的數據庫密碼需要在配置文件中設置,默認是沒有密碼的。

因為上文我們配置Windows服務時,指定了redis.windows.conf文件為配置文件,所以我們現在需要在redis.windows.conf文件中配置密碼。

打開redis.windows.conf文件,搜索【# requirepass foobared】定位到配置密碼的行(配置文件中#為注釋符),然后在該行下方輸入requirepass 123456,其中123456就是數據庫的密碼了,如下圖所示:

一文教你正確的使用Redis

現在我們測試一下,運行我們剛才的項目,結果如下圖所示:

一文教你正確的使用Redis

可以看到,系統提示了驗證錯誤的異常。

這是因為我們上文配置的連接字符串是【localhost:6379】這里面只有IP和端口,現在因為有了密碼所以這個字符串不在合法了。

現在我們將密碼加入進字符串,修改代碼如下:

private static string ConnStr = 123456@localhost:6379;

項目成功運行,訪問Redis數據庫成功,如下圖:

一文教你正確的使用Redis

關于一文教你正確的使用Redis問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新巴尔虎左旗| 通榆县| 乡城县| 招远市| 夹江县| 开原市| 凤阳县| 闽清县| 南平市| 克什克腾旗| 吉水县| 额济纳旗| 建德市| 万荣县| 恭城| 泸水县| 长兴县| 柞水县| 曲阜市| 视频| 全南县| 普安县| 珠海市| 双城市| 兴文县| 龙岩市| 赤壁市| 房山区| 玛纳斯县| 蕉岭县| 中牟县| 临沂市| 镇安县| 罗甸县| 桂林市| 渭南市| 遵义市| 峡江县| 龙江县| 昌乐县| 饶平县|