spring boot连接linux服务器上的redis
本文章为给新手学习spring boot远程连通redis提供一个学习参考.
环境是intellij idea(window)+ redis(linux虚拟机-vmware)。
首先在linux安装好redis,这里网上一堆教程,这里不再赘述。
我用的是centos7,等安装完成ping通之后,接下来开始正题,以下几个步骤帮助你连接redis:
1.修改redis.conf文件(最好拷贝一份,在副本上修改)
注释掉127.0.0.1的限制

把保护模式protected-mode yes 改为 no

ps:多啰嗦一句,记得把守护线程开启,daemonize no(默认) 改为 yes
2.排除防火墙
最简单直接的方法就是把linux的防火墙关了,(在你本人学习的虚拟机上可以这样)
service iptables stop
或者你也可以试试把6379端口暴露出来。。
firewall-cmd --zone=public --add-port=/tcp --permanent
然后重启一下防火墙
systemctl restart firewalld
3.重启redis
我是这样带ip地址启动的,-h 后面的参数就是你虚拟机的ip地址,可通过ifconfig -a 查看

之后就是可以通过ip访问

4.接下来就是一个虚拟机的坑。。
虚拟机采用NAT模式,查看下面两个勾是否勾中,子网地址必须是你上面那个ip的同段,比如虚拟机ip地址为192.168.59.128,那么这里的子网地址必须是192.168.59.*。

如果不是,请去网络中心-找到VMware Virtual Ethernet Adapter for VMnet8右键属性,找到Ipv4属性去修改。

到这里,可以用redis可视化工具试试连接redis。

成功连接上linux的redis了。
ps:建议设置redis密码(不知道没有密码能不能连上)。
5.接下来就是spring boot redis的配置
网上教程也很多,这里不再详细赘述了。
引入依赖
<!--引入redis依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
redis配置application.yml,关键配置:host为你虚拟机的ip,端口,还有密码这三个
spring:
redis:
database: 0
host: 192.168.59.128
port: 6379
password: 123456
# jedis:
# pool:
# max-active: 8
# max-wait: -1
# max-idle: 8
# min-idle: 0
timeout: 500
看看redis里存在的key,我们用k2来测试联通

写个最简单的测试类。
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class)
@SpringBootTest
public class RedisdemoApplicationTests {
@Autowired
private StringRedisTemplate stringRedisTemplate;
@Test
public void contextLoads() {
String k2 = stringRedisTemplate.opsForValue().get("k2");
System.out.print("k2:" + k2);
} }

结果取到了k2的值,连接成功!这里用到的是stringRedisTemplate,里面封装了很多api,简单实用。
纯随笔,如有不对,感谢指出!
spring boot连接linux服务器上的redis的更多相关文章
- 【docker】docker部署spring boot项目在服务器上
IDE:idea 工具:docker spring boot:2.0.1 ======================================== 简单记录一下流程,以供参考: 第一步:首先得 ...
- docker部署spring boot项目在服务器上
IDE:idea 工具:docker spring boot:2.0.1 ======================================== 简单记录一下流程,以供参考: 第一步:首先得 ...
- (转发)Navicat 远程连接 Linux服务器上的MySQL数据库
授权法: 在安装mysql的机器上运行: 1.# ./bin/mysql -uroot -p //这样应该可以进入MySQL服务器 2.mysql> GRANT ALL PRIVILEGES O ...
- 授权给指定用户,使用navicat在其他ip都可以连接linux服务器上的mysql库
grant all privileges on ao.* to 'tony'@'localhost' identified by '123456'; 在ao库中所有表. 同意 ,授权 给ton ...
- 如何用navicat连接linux服务器上的mysql以及重启服务
1,开启mysql权限:https://www.cnblogs.com/NaughtyCat/p/how-to-connect-to-mysql-on-linux-by-navicat.html my ...
- Redis进阶实践之六Redis Desktop Manager连接Windows和Linux系统上的Redis服务
一.引言 今天本来没有打算写这篇文章,当初我感觉使用这个工具应该很简单,下载的过程也不复杂,也没有打算记录下来.但是在使用的过程中还是出现了一些问题,为了给第一次使用Redis Desktop Man ...
- Redis进阶实践之六Redis Desktop Manager连接Windows和Linux系统上的Redis服务(转载6)
Redis进阶实践之六Redis Desktop Manager连接Windows和Linux系统上的Redis服务 一.引言 今天本来没有打算写这篇文章,但是,今天测试Redis的时候发现了两个问题 ...
- Windows连接Linux服务器中MySQL数据库-权限配置
问题描述 在Windows系统中安装了监控MySQL数据库服务器性能的工具Spotlight on MySQL,利用Spotlight连接Linux服务器中的MySQL,进行相关配置如下: 点击& ...
- mac通过自带的ssh连接Linux服务器并上传解压文件
需求: 1:mac连接linux服务器 2:将mac上的文件上传到linux服务器指定位置 3:解压文件 mac上使用命令,推荐使用 iterm2 .当然,也可以使用mac自带的终端工具. 操作过程: ...
随机推荐
- Python第十一章-常用的核心模块03-json模块
python 自称 "Batteries included"(自带电池, 自备干粮?), 就是因为他提供了很多内置的模块, 使用这些模块无需安装和配置即可使用. 本章主要介绍 py ...
- C++ 按址操作
一.指针 二.变量与指针 注意区别char 和char *. !!!!!!! 二.函数与指针 #include<iostream> #include<string> using ...
- 1~n的之间的k个数组成和为n的方案数(动态规划)
绯色的子弹 Description 众所周知,夏季奥林匹克运动会时隔56年第二次在东京举办,紧接着出来的<名侦探柯南 M24绯色的子弹>竟也是有奥运会的背景,最重要的是重归主线!!!(赤井 ...
- Vertica的这些事(四)——-vertica加密数据
通过创建 Secure Access Policies可以对vertica中的某一列数据进行加密: CREATE ACCESS POLICY ON [schema][tablename] FOR CO ...
- Azure安装win2016的服务器,并下载安装mysql数据库心得
随便写写 第一部分:新建虚拟机创建win2016服务器 这部分内容跟着微软云提示操作即可, 基本步骤:创建一堆名字,选择一个地区的服务器,配置一些基本信息,然后azure就会自动创建虚拟机并安装你选择 ...
- 艾编程coding老师课堂笔记:java设计模式与并发编程笔记
设计模式概念 1.1 什么是设计模式 设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路.它不是语法规定,而是一套用来提高代码可复用性.可维护性.可读性. ...
- 原生js弹力球
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- const不同位置带来的区别
const不同位置带来的区别 今天同学问我数据结构时,我对以下代码懵了一下: template <class T> class Link{ public: T data; Link< ...
- HTTP协议经典面试题整理及答案详解
无论你是Java.PHP开发者,还是运维人员,只要从事互联网行业,面试时都可能被问到HTTP协议相关知识.历时多天的呕心沥血,为你总结了HTTP协议的经典面试题.由于涉及内容比较繁杂不方便记忆,建议收 ...
- Dijkstra学习总结
啥叫堆 可以看一下这个 https://www.cnblogs.com/xiugeng/p/9645972.html#_label0普通Dijkstra可以看一下 https://blog.csdn. ...