[C#]使用Redis来存储键值对(Key-Value Pair)
2021-07-16 15:19
本文为原创文章、源代码为原创代码,如转载/复制,请在网页/代码处明显位置标明原文名称、作者及网址,谢谢!
开发工具:VS2017
语言:C#
DotNet版本:.Net FrameWork 4.5及以上
系统:Win10 X64
一、安装Redis服务器
首先,从以下网站下载Redis服务器,
https://github.com/MicrosoftArchive/redis/releases
并从以下列表中下载Redis-x64-3.2.100.msi,如下图所示:
或者从百度网盘进行下载,如下:
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,如下所示:
PM> Install-Package StackExchange.Redis
备注:最新版本不允许使用.DotNet4.0,这里使用.Net4.5,否则将安装不了。
安装结果如下图所示:
其次,在控制台编写以下代码:
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,如下代码所示:
//ConnectionMultiplexer cm = ConnectionMultiplexer.Connect("127.0.0.1:6379,password=123"); ConnectionMultiplexer cm = ConnectionMultiplexer.Connect("192.168.94.250:6379,password=123");
其他对哈希表、列表、集合及有序集合等的操作,请自行百度,谢谢!
文章标题:[C#]使用Redis来存储键值对(Key-Value Pair)
文章链接:http://soscw.com/essay/106044.html