前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[C#]使用Redis来存储键值对(Key-Value Pair)

[C#]使用Redis来存储键值对(Key-Value Pair)

作者头像
CNXY
发布2019-05-24 20:22:05
1.5K0
发布2019-05-24 20:22:05
举报
文章被收录于专栏:C# 编程


本文为原创文章、源代码为原创代码,如转载/复制,请在网页/代码处明显位置标明原文名称、作者及网址,谢谢!


开发工具:VS2017

语言:C#

DotNet版本:.Net FrameWork 4.5及以上

系统:Win10 X64

一、安装Redis服务器

首先,从以下网站下载Redis服务器,

代码语言:javascript
复制
https://github.com/MicrosoftArchive/redis/releases

并从以下列表中下载Redis-x64-3.2.100.msi,如下图所示:

或者从百度网盘进行下载,如下:

代码语言:javascript
复制
https://pan.baidu.com/s/1dFya9ep

其次,安装Redis-x64-3.2.100.msi,全部点击肯定性按钮直至安装完成,如下图所示:

安装完毕之后,使用WIN+R弹出“运行”窗体,输入“services.msc”打开系统“服务”窗体,我们可以看到如下的信息:

以上是“Redis服务器”服务,如果想以此作为服务器,强烈建议设置服务的启动类型为“自动”(保持默认值即可)

然后,将C:\Program Files\Redis路径加入系统环境变量里面,如下图所示:

此次目的是用于以后不再输入文件路径(减少输入路径带来的不便),如下图所示:

二、安装StackExchange.Redis,用于C#与服务器进行交互

首先,从“程序包管理器控制台”输入以下内容进行安装引用StackExchange.Redis,如下所示:

代码语言:javascript
复制
PM> Install-Package StackExchange.Redis

备注:最新版本不允许使用.DotNet4.0,这里使用.Net4.5,否则将安装不了。

安装结果如下图所示:

其次,在控制台编写以下代码:

代码语言:javascript
复制
using StackExchange.Redis;
using System;
using System.Threading;

namespace RedisConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            ConnectionMultiplexer cm =  ConnectionMultiplexer.Connect("127.0.0.1:6379");
            IDatabase db = cm.GetDatabase();
            db.StringSet("Info", "Hello World");
            string result = db.StringGet("Info");
            Console.WriteLine(result);

            ISubscriber sc = cm.GetSubscriber();
            string channelStr = "CH1";
            sc.Subscribe(channelStr, (channel, information) => Console.WriteLine($"From {channel}: {information}"));
            sc.Publish(channelStr, "Hello,my name is CNXY");
            Thread.Sleep(100);
            sc.Publish(channelStr, "My website is http://www.cnc6.cn");
            Console.ReadKey();

        }
    }
}

其输出结果如下:

然后,我们同样可以利用Redis-cli来查看刚才建立的信息,如下所示:

三、如何加密连接

首先,打开"C:\Program Files\Redis\redis.windows.conf",将里面的“# requirepass foobared”改成“#requirepass 你的密码”即可,此处修改为“requirepass 123”,修改后必须重启服务,如下图所示:

其次,在C#源代码里将 ConnectionMultiplexer.Connect("127.0.0.1:6379")改成 ConnectionMultiplexer.Connect("127.0.0.1:6379,password=123")即可。

然后,我们看看是不是被密码保护了,具体如下图所示:

从上图可以看出,该连接已经被保护了!

四、如何使用远程访问

首先,打开"C:\Program Files\Redis\redis.windows.conf",将里面的“bind 127.0.0.1”改成“#bind 127.0.0.1”即可,修改后必须重启服务,如下图所示:

然后,使用其他IP地址(如192.168.94.250)进行操作,如下图所示:

可以从上图看出,使用192.168.94.250这个IP地址可以正常进行操作。

同样,需要将C#代码里对应的IP地址从127.0.0.1改成192.168.94.250,如下代码所示:

代码语言:javascript
复制
//ConnectionMultiplexer cm = ConnectionMultiplexer.Connect("127.0.0.1:6379,password=123");
ConnectionMultiplexer cm =  ConnectionMultiplexer.Connect("192.168.94.250:6379,password=123");

其他对哈希表、列表、集合及有序集合等的操作,请自行百度,谢谢!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-01-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档