前言
本文提供全网最完整的Redis入门指导教程,下面我们从下载Redis安装包开始,一步一步的学习使用。
下载Redis
官网提供的Redis安装包是服务于Linux的,而我们需要在Window下使用Redis,所以,我们去下面这个网址中下载。
Redis的下载地址:https://github.com/microsoftarchive/redis/releases。
如下图所示,Redis的windows版是由microsoftarchive提供,是微软的一个工作小组,所以我们可以选择完全信任,下面我们选择最新版的Redis版本下载(可以看到,尽管是最新版本,但最后一次提交已经是2016年了)
下载完成后解压到文件夹,得到文件如下:
重要文件讲解:
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客户端很多,如下图:
这里我们使用ServiceStack.Redis来访问Redis。
创建项目
首先我们创建一个项目RedisConsole,然后在Nuget下搜索ServiceStack.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; "localhost:6379";//password@ip:port 123@localhost:6379 private static PooledRedisClientManager _prcm; "htmlcode">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数据库。
下载RedisStudio。
下载地址:https://github.com/cinience/RedisStudio/releases
运行RedisStudio,连接本地Redis,如下图:
连接成功后,点击Data菜单,查看数据。
可以看到,我们添加的数据被写进了第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-server.exe --service-start
关闭服务命令:redis-server.exe --service-stop
删除服务命令:redis-server.exe--service-uninstall
CMD运行关闭服务结果如下图:
注意:redis.windows.conf文件默认配置的IP需要修改成本机的IP,window服务才能正常启动。
配置密码
我们都知道数据库是需要密码的,这样才能保证安全性,不然任何一个知道你服务器IP的人只要按个端口试一遍就可以连接你的数据库了。
Redis的数据库密码需要在配置文件中设置,默认是没有密码的。
因为上文我们配置Windows服务时,指定了redis.windows.conf文件为配置文件,所以我们现在需要在redis.windows.conf文件中配置密码。
打开redis.windows.conf文件,搜索【# requirepass foobared】定位到配置密码的行(配置文件中#为注释符),然后在该行下方输入requirepass 123456,其中123456就是数据库的密码了,如下图所示:
现在我们测试一下,运行我们刚才的项目,结果如下图所示:
可以看到,系统提示了验证错误的异常。
这是因为我们上文配置的连接字符串是【localhost:6379】这里面只有IP和端口,现在因为有了密码所以这个字符串不在合法了。
现在我们将密码加入进字符串,修改代码如下:
private static string ConnStr = 123456@localhost:6379;项目成功运行,访问Redis数据库成功,如下图:
----------------------------------------------------------------------------------------------------
代码已经传到Github上了,欢迎大家下载。
Github地址:https://github.com/kiba518/RedisConsole
----------------------------------------------------------------------------------------------------
总结
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
更新日志
- 黄乙玲1988-无稳定的爱心肝乱糟糟[日本东芝1M版][WAV+CUE]
- 群星《我们的歌第六季 第3期》[320K/MP3][70.68MB]
- 群星《我们的歌第六季 第3期》[FLAC/分轨][369.48MB]
- 群星《燃!沙排少女 影视原声带》[320K/MP3][175.61MB]
- 乱斗海盗瞎6胜卡组推荐一览 深暗领域乱斗海盗瞎卡组分享
- 炉石传说乱斗6胜卡组分享一览 深暗领域乱斗6胜卡组代码推荐
- 炉石传说乱斗本周卡组合集 乱斗模式卡组最新推荐
- 佟妍.2015-七窍玲珑心【万马旦】【WAV+CUE】
- 叶振棠陈晓慧.1986-龙的心·俘虏你(2006复黑限量版)【永恒】【WAV+CUE】
- 陈慧琳.1998-爱我不爱(国)【福茂】【WAV+CUE】
- 咪咕快游豪礼放送,百元京东卡、海量欢乐豆就在咪咕咪粉节!
- 双11百吋大屏焕新“热”,海信AI画质电视成最大赢家
- 海信电视E8N Ultra:真正的百吋,不止是大!
- 曾庆瑜1990-曾庆瑜历年精选[派森][WAV+CUE]
- 叶玉卿1999-深情之选[飞图][WAV+CUE]