Spring Boot——Redis安装配置与应用整合

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014745069/article/details/86515638

引言

Spring Boot默认以ConcurrentHashMap作为缓存容器,但默认的缓存容器在简单的场景使用还是可以的,而作为NoSQL的代表,Redis可以做内存数据库、消息中间件都是不错的,而且有RedisDesktopManager作为可视化管理工具,让我们能够像使用一般数据库一样编辑内存中的数据,因此,大多数企业都要求能够掌握基本的Redis的使用。

本篇博客将介绍如下内容:

如何在CentOS中安装Redis,命令行下的redis启动、登录、设置密码、关闭redis,Spring Boot整合Redis以及简单的操作。

一、Linux(CentOS 6.10)中安装Redis

Linux环境采用传统企业服务器用的比较多的CentOS版本,并使用虚拟机作为服务器,具体虚拟机服务器的创建和系统安装,可以参考《Linux——VMware虚拟机安装CentOS步骤》。

下面,默认已经安装好CentOS系统。

1.1 本机下载安装包

官网下载redis安装包:http://120.52.51.18/download.redis.io/releases/redis-5.0.3.tar.gz 

然后,确保你的虚拟机或远程主机已经开启,通过远程访问的方式将压缩包上传到CentOS系统中。

推荐使用MobaXterm进行传输。或者也可以使用U盘 :)将压缩包拷贝到Linux中的 /opt目录下之后,开始正式进入安装步骤。

1.2 安装redis

>1、 进入压缩包所在目录:

>2、 tar 命令解压缩:

[root@CentOS opt]# tar -zxvf redis-5.0.3.tar.gz

 回车执行解压命令,然后可以看到当前目录多了一个redis-5.0.3文件夹:

>3、 安装GCC编译器:

由于redis是用C编写的,因此,要安装redis就必须先安装gcc编译器,它是包括C,C++语言在内的编译器,类似于Java中的javac。

注意,在没有预安装gcc编译工具的环境中直接使用 make 命令安装redis会报 :gcc 命令未找到。可以使用下面的命令在已联网情况下安装gcc编译工具(未联网情况下此博客忽略):

[root@CentOS opt]# yum install gcc-c++

 回车执行命令后,可以看到下面的信息,执行 gcc -v 命令可以查看gcc版本:

>4、安装redis:

切换到redis目录下,执行 make 命令(若忘记了安装gcc导致make报错,安装gcc后须先执行 make distclean 再 make):

[root@CentOS opt]# cd redis-5.0.3
[root@CentOS redis-5.0.3]# make

等待命令执行完毕后,再执行 make install 命令:

[root@CentOS redis-5.0.3]# make install

 安装完成后,可以查看一下redis安装效果:

至此,Linux环境上的redis已经安装完毕。

二、redis启动、登录与停止

redis安装后,redis命令会默认安装在 /usr/local/bin 目录下,这里值得一提的是 /usr 目录的作用:

这是一个非常重要的目录,用户的许多应用程序和文件都放在这个目录下,类似于windows下的program files目录。

启动redis:

登录redis:

另起一个终端,输入如下命令回车(命令后面可追加 -p 6379 端口号):

停止redis:

三、Spring Boot整合Redis

redis在虚拟机中安装好之后以后台运行的方式使用即可,接下来是通过spring boot来操作redis库。

3.1 添加redis依赖

<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-redis -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

3.2 配置redis主机

在配置文件中加入下面配置:

#redis
spring.redis.host=192.168.1.129

 这里注意,实际生产中,会将应用程序与redis库放在同一台服务器上,毕竟redis是用于缓存管理,如果放在远程服务器上,增加了IO消耗,可能就失去性能上的价值,所以这里可能会配置为localhost。另外还有一些其他的属性配置,见下表:

# REDIS (RedisProperties)
spring.redis.host=localhost # 服务器IP
spring.redis.password= # redis服务密令
spring.redis.port=6379 # 端口号
spring.redis.database=0 # redis 数据库索引(默认为0)
spring.redis.pool.max-idle=8 # redis连接池最大空闲连接
spring.redis.pool.min-idle=0 # redis连接池最小空闲连接
spring.redis.pool.max-active=8 # redis连接池最大连接数(使用负值表示没有限制)
spring.redis.pool.max-wait=-1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.timeout=0 # 连接超时时间(毫秒)

更多配置请参考《Spring Boot配置文件application properties配置详解

3.3 修改redis配置

虽然redis已经安装完毕,且可以通过命令行模式进行操作,但是要想使用spring boot访问redis库,还需要两个配置步骤:

关闭防火墙、修改redis.conf 取消远程访问保护

> 立刻关闭防火墙(无需重启):

扩展

立刻开启防火墙(无需重启):

> service iptables start

永久关闭防火墙(重启后生效):

> chkconfig iptables off

永久开启防火墙(重启后生效):

> chkconfig iptables on

查看防火墙状态:

> service iptables status

> 取消远程访问保护:

vim修改 redis.conf 文件,在 ###### NETWORK ###### 一栏中,将  bind 127.0.0.1 注释掉  ,然后将 protected-mode yes  改为 no:

至此,我们就可以通过主机上的应用程序访问redis库了。

3.4 编写测试代码

主配置类添加@EnableCaching注解。

简单写一个controller接口,使用StringRedisTemplate进行添加和获取,观察执行结果:

@Autowired
StringRedisTemplate stringRedisTemplate;

@ResponseBody
@RequestMapping("/redis/getkey")
public String getValue() {
    stringRedisTemplate.opsForValue().set("my-key", "Moonlight");
    return stringRedisTemplate.opsForValue().get("my-key");
}

启动项目后,调用接口,得到redis库中的存储数据:

同时,如果已经安装了redisDesktopManager可视化工具(下载地址:https://www.newasp.net/soft/391754.html),也可以连接redis后,查看内部数据:

四、设置redis访问密码

默认情况,redis没有访问密码,如果希望添加redis访问密码,可以先登录到redis之后进行如下设置:

查看当前密码:

设置新密码为123456:

重新登录:

总结

综上,就是关于redis的简明使用,欢迎文末留言。

猜你喜欢

转载自blog.csdn.net/u014745069/article/details/86515638
今日推荐