目录
(一)安装Redis
(二)Redis设置成windows下的服务
1、把redis设置成windows下的服务
2、设置服务命令
(三)Redis实例演示
1、Redis插入数据
2、Redis修改数据
3、Redis删除数据
4、Redis查询数据
官网地址:Redis
不过Redis 的官网不提供 Windows 版本的下载,可以从Github上下载,Windows版本的下载地址:
https://github.com/microsoftarchive/redis/releases/
下载文件Redis-x64-3.2.100.msi并执行进行安装。
安装路径:C:\Program Files\Redis
服务器端运行程序redis-server.exe,默认端口6379。
客户端运行程序redis-cli连接服务器端。Redis Quit 命令可关闭客户端与Redis服务的连接。
第一次运行redis-server的时候可能出现闪退情况处理方法:
win+R运行cmd打开命令行
进入redis根目录
输入 redis-server.exe redis.windows.conf 查看运行状态
此时如果出现如下代码,说明连接失败
[9912] 03 Sep 14:14:09.065 # Creating Server TCP listening socket 127.0.0.1:6379: bind: No error
依次输入以下命令即可连接成功
redis-cli.exe
shutdown
exit
redis-server.exe redis.windows.conf
客户端操作:
(重点注意)另启动一个命令窗口,原来的不要关闭,不然就无法访问服务端了。
切换到redis目录下运行 redis-cli.exe -h 127.0.0.1 -p 6379 。
设置键值对 set myKey zzjm{注释:不必加引号}
取出键值对 get myKey
也可以添加系统变量path,如下图
这样可以直接利用redis-cli而不需要每次进入redis的安装目录, (注意:运行以下命令需要启动Redis服务):
上面虽然启动了redis,但是只要关闭cmd窗口,redis服务就会停止。所以要把redis设置成windows下的服务。
redis-server --service-install redis.windows-service.conf --loglevel verbose
输入命令后没有报错,表示成功了,刷新windows的服务,多了一个redis服务。
常用的redis服务命令。
卸载服务:redis-server --service-uninstall
开启服务:redis-server --service-start
停止服务:redis-server --service-stop
重命名服务:redis-Server --service-name name
本实验用的数据为如下三个表格:
学生表格:
课程表格:
成绩表格:
本部分实验的数据如上,必须先把数据存入Redis。关系数据库转化为KV键值数据库,并不是简单的set key value,因为表格之间存在着关系,所以采用如下方法:
Key=表名:主键值:列名
Value=列值
例如,对于之前数据的存入,可以按以下方式存入:
针对之前存入的数据,我们在这简单地演示Redis的增删改查。Redis支持5种数据类型,不同数据类型,增删改查可能不同,这里用最简单的数据类型字符串作为演示。
Redis插入一条数据,只需要先设计好键值,然后用set命令存入即可。例如在课程表插入新的课程算法,4学分,所以可输入set Course:8:Cname 算法和set Course:8:Ccredit 4,如下图所示;
Redis并没有修改数据的命令,所以如果在Redis中要修改一条数据,只能在使用set命令时,使用同样的键值,然后用新的value值来覆盖旧的数据。例如修改新添加的课程,名字改为编译原理,则下图所示:
先调用get命令,输出原先的值,然后set新的值,最后再get得到新值,所以修改成功。
Redis有专门删除数据的命令del,用法为del key值即可。所以如果要删除之前新增的课程编译原理,只需输入命令del Course:8:Cname,同时还应该把本课程的学分删除del Course:8:Ccredit,如下图所示;
当输入del Course:8:Cname时,返回1,说明成功操作一条数据。当再次输入get命令时,输出为空,说明删除成功。
Redis最简单的查询方式为用get命令,之前的图例已有展示。如果要进行关系数据库表格连接查询,则需要进行多步查询,这时要先将(姓名,学号)和(课程名,课程号)键值对存储数据库,用于后续查询,如下图所示:
这时,如果要查询李勇的数学分数,在关系数据库中需要连接3个表,Redis的做法为
①输入命令:get 李勇 获得李勇的学号;
②输入命令:get 数学 获得数学的课程号;
③获得李勇学号和数学的课程号之后,在输入命令get SC:学号:课程号:Grade 即可得到李勇的分数,如图7.2.9所示: