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=6379/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,簡單實用。

純隨筆,如有不對,感謝指出!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM