前言
本文提供全网最完整的redis入门指导教程,下面我们从下载redis安装包开始,一步一步的学习使用。
下载redis
官网提供的redis安装包是服务于linux的,而我们需要在window下使用redis,所以,我们去下面这个网址中下载。
redis的下载地址:。
如下图所示,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的中文官网,在客户端菜单下可以发现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; 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; /// <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 //连接池取链接的超时时间,毫秒 }; } /// <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数据库。
下载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
—————————————————————————————————-
总结
到此这篇关于redis新手入门指导教程的文章就介绍到这了,更多相关redis新手入门教程内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!