C# net使用redis

redis 安裝

Redis是一個(gè)開(kāi)源的,先進(jìn)的 key-value 存儲(chǔ)可用于構(gòu)建高性能,可擴(kuò)展的 Web 應(yīng)用程序的解決方案。Redis官方網(wǎng)網(wǎng)站是:http://www.redis.io/。
windows下使用方式:http://blog.csdn.net/renfufei/article/details/38474435
安裝完畢后,用管理員運(yùn)行命令窗口,切換到 redis 所在位置,執(zhí)行命令

圖1 啟動(dòng)服務(wù)

如果顯示如下圖所示內(nèi)容,則表示 redis 服務(wù)啟動(dòng)成功

圖2 啟動(dòng)服務(wù)成功

redis 默認(rèn)端口為 6379


簡(jiǎn)單測(cè)試 key value

不要關(guān)閉服務(wù)窗口,在用管理員啟動(dòng)另一個(gè)命令窗口并切換到redis工作目錄
1.執(zhí)行命令如下圖所示

圖3 打開(kāi)redis客戶(hù)端

2.執(zhí)行命令 set age 21
返回ok,表示執(zhí)行成功

圖4 set 命令

3.執(zhí)行 get age,返回?cái)?shù)據(jù) 21,則表示我們的redis是正常工作的

圖5 get命令

隊(duì)列測(cè)試

redis 支持消息隊(duì)列,具體測(cè)試如下
運(yùn)行 redis 服務(wù),如果已經(jīng)運(yùn)行,則無(wú)需重復(fù)運(yùn)行,在用管理員模式分別打開(kāi)兩個(gè)命令窗口,并切換到 redis工作目錄,執(zhí)行客戶(hù)端模式命令,如下圖

圖6 兩個(gè)客戶(hù)端

我們?cè)谧髠?cè)的命令窗口建立監(jiān)聽(tīng)模式,可以理解為 消息隊(duì)列的消費(fèi)者,即消息處理者,右側(cè)窗口為發(fā)送消息,可以理解為 創(chuàng)建者,即消息源。
在左側(cè)和右側(cè)執(zhí)行的命令如下

圖7 消息隊(duì)列測(cè)試結(jié)果

SUBSCRIBE 命令是建立監(jiān)聽(tīng),參數(shù)是通道名稱(chēng)
PUBLISH 命令是給指定通道發(fā)送消息


C# 測(cè)試案例

在vs創(chuàng)建命令行程序,并引入nuget包: StackExchange.Redis

圖8 redis包引入結(jié)果

源代碼如下:


class Program
    {

        static ConnectionMultiplexer redisClient = ConnectionMultiplexer.Connect("localhost");
        static void Main(string[] args)
        {
            IDatabase db = redisClient.GetDatabase();
            // 測(cè)試 key value
            string value = "abcdefg";
            db.StringSet("mykey", value);
             value = db.StringGet("mykey");
            Console.WriteLine(value);
            // 測(cè)試消息隊(duì)列
            ISubscriber sub = redisClient.GetSubscriber();
            sub.Subscribe("messages", (channel, message) => {
                Console.WriteLine((string)message);
            });
            Thread.Sleep(1000);
            sub.Publish("messages", "hello");

            Thread.Sleep(1000);
            sub.Publish("redisMessages", "This message from C# program");

            Console.ReadKey();
        }
    }

運(yùn)行結(jié)果如下所示

圖9 C#程序運(yùn)行結(jié)果

通過(guò)運(yùn)行結(jié)果,我們可以看到,C#代碼正確的取到了key value的值
有看到了消息隊(duì)列的使用方式,并且在上一個(gè)步驟中的左側(cè)窗口,看到了C# 發(fā)送的到消息隊(duì)列的額消息"This message from C# program"

接下來(lái),我們?cè)谟覀?cè)窗口,向messages通道發(fā)送消息,看看我們的C#程序,是否可以讀取 messages通道的消息

圖10 消息列表測(cè)試結(jié)果

實(shí)驗(yàn)證明,我們的C# 程序通過(guò)消息隊(duì)列 成功的讀取到了來(lái)自 redis 客戶(hù)端的消息


總結(jié)

  1. redis的安裝和簡(jiǎn)單的命令測(cè)試
  2. 使用 .net 程序操作 redis
源代碼:https://git.oschina.net/zhaord/redisdemo

QQ:1260825783

若是需要轉(zhuǎn)載,請(qǐng)備注原地址:http://www.itdecent.cn/p/0dd7d722c410

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,645評(píng)論 19 139
  • 安全性 設(shè)置客戶(hù)端連接后進(jìn)行任何其他指令前需要使用的密碼。 警告:因?yàn)閞edis 速度相當(dāng)快,所以在一臺(tái)比較好的服...
    OzanShareing閱讀 1,950評(píng)論 1 7
  • NOSQL類(lèi)型簡(jiǎn)介鍵值對(duì):會(huì)使用到一個(gè)哈希表,表中有一個(gè)特定的鍵和一個(gè)指針指向特定的數(shù)據(jù),如redis,volde...
    MicoCube閱讀 4,160評(píng)論 2 27
  • 親戚家的孩子的學(xué)習(xí)一直很好,沒(méi)有補(bǔ)課,成績(jī)一直也是遙遙領(lǐng)先,這一直是讓大家感覺(jué)非常不可思議的一件事。 以下是我過(guò)年...
    鄒永浩閱讀 688評(píng)論 6 52
  • 迷迷糊糊中,突然看見(jiàn)有人靠近,她記得睡覺(jué)前明明把門(mén)關(guān)好的,怎么會(huì)有人進(jìn)來(lái)。 她躺在床上一動(dòng)不動(dòng),她想動(dòng),但動(dòng)不了,...
    簡(jiǎn)悠然閱讀 292評(píng)論 0 1

友情鏈接更多精彩內(nèi)容