一、Redis 概述
在我们日常的Java Web开发中,无不都是使用数据库来进行数据的存储,由于一般的系统任务中通常不会存在高并发的情况,所以这样看起来并没有什么问题,可是一旦涉及大数据量的需求,比如一些商品抢购的情景,或者是主页访问量瞬间较大的时候,单一使用数据库来保存数据的系统会因为面向磁盘,磁盘读/写速度比较慢的问题而存在严重的性能弊端,一瞬间成千上万的请求到来,需要系统在极短的时间内完成成千上万次的读/写操作,这个时候往往不是数据库能够承受的,极其容易造成数据库系统瘫痪,最终导致服务宕机的严重生产问题。
NoSQL 技术
为了克服上述的问题,Java Web项目通常会引入NoSQL技术,这是一种基于内存的数据库,并且提供一定的持久化功能。
redis属于NoSql分类,它把数据都是缓存在内存中的,我们都知道内存的读写效率跟硬盘不是一个级别的,最后redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件。既然用redis读取效率那么高,最后内容也会添加到磁盘那么我们就当然要使用它了。
Redis 在 Java Web 主要有两个应用场景
- 存储 缓存 用的数据;
- 需要高速读/写的场合使用它快速读/写;
二、Redis 下载
Redis的官方网站:https://redis.io/download
Redis中文网站:http://www.redis.cn/
官方的说明是建议安装在Linux操作系统下,由于我没有装VM虚拟机,所以就使用的是Windows安装版
Windows版下载
在下面这个github上面下载似乎需要翻墙才行(我是直接在网上找的一个3.2.100版本的zip)
https://github.com/MicrosoftArchive/redis/releases
三、Redis 安装
这里redis的安装与卸载非常简单,并不是像安装jdk一样需要手动运行某.exe文件 redis安装只需要把redis服务配置到windows服务列表就算完成了
下载Redis-x64-3.2.100.zip
下载解压后内容如下
1、打开cmd窗口进入redis存放的盘符
例如:,
运行启动命令:redis-server redis.windows.conf
如图所示即为启动成功
(如果redis服务是开启状态会启动不成功,会报这个错误
D:\redis\Redis-x64-2.8.2400>redis-server redis.windows.conf
[4672] 28 May 10:42:16.240 # Creating Server TCP listening socket *:6379: bind:
Unknown error)
2、运行安装命令安装redis
将我们先前打开的 cmd 关掉后重新开一个新的 cmd 进入安装路径后执行下面命令
因为我们之前的CMD 不关掉,Redis似乎会处于启动状态还是资源占用,会导致我们执行下面命令将服务发布到计算机服务列表后启动报错(这是我遇到的坑)
安装命令:redis-server --service-install redis.windows-service.conf --loglevel verbose(这个命令其实是把redis服务发布到计算机服务列表)
有时执行上面的安装命令会出现这个错误
使用下面的命令即可解决
redis-server --service-install "D:\redis\redis.windows-service.conf" --loglevel verbose
这个错误似乎是说打开.conf文件失败,给.conf文件指定一个绝对路径即可
下面是成功之后计算机服务中出现了redis服务
下面启动服务:redis-server --service-start
注意这里可能会启动失败:
排查原因一
检查redis.windows-service.conf 文件中的 logfile 路径是怎样的,有的时候会在前面加上log文件夹 log/server_log.txt
解决方式:
查看redis目录下有没有logs文件夹 如果没有新建一个就好了
排查原因二
可能是由于之前运行启动命令:redis-server redis.windows.conf 的dom窗口没有关闭,似乎会导致资源占用,关闭后再启动尝试就好了(我就是遇到了这个问题)
启动成功!
如果依然启动不成功这时使用卸载命令将服务卸载(卸载服务:redis-server --service-uninstall),然后使用这条命令 即可
redis-server.exe --service-install redis.windows.conf --maxheap 200m
停止服务:redis-server --service-stop
三、Redis 桌面管理工具
推荐一个Redis管理工具:Redis Desktop Manager
下载地址:https://redisdesktop.com/download
四、常用的redis服务命令
安装服务:redis-server --service-install redis.windows-service.conf --loglevel verbose
卸载服务:redis-server --service-uninstall
开启服务:redis-server --service-start
停止服务:redis-server --service-stop
重命名服务:redis-server --service-name name
五、Redis的安全性 (设置连接密码)
Redis默认连接是没有密码的
我们可以通过 redis 的配置文件设置密码参数,这样客户端连接到 redis 服务就需要密码验证,这样可以让你的 redis 服务更安全。
详情可参考:https://www.runoob.com/redis/redis-security.html
我们可以通过以下命令查看是否设置了密码验证(默认情况下 requirepass 参数是空的,这就意味着你无需通过密码验证就可以连接到 redis 服务。)
CONFIG get requirepass
你可以通过以下命令来修改该参数
CONFIG set requirepass "需要设置的密码"
设置密码后,客户端连接 redis 服务就需要密码验证,否则无法执行命令