在我們之前的內容中,我們會發現通過命令行操作redis是十分不科學的,所以redis官方提供了redis的應用層協議RESP,更具這個協議可以實現一個和redis服務器通信的客戶端程序,來簡化和完善redis的使用。現階段有很多封裝了RESP協議的庫可以使用,接下來我們使用jedis來演示。
1. 配置ssh端口轉發
由于我們的redis在云服務器上,想要從本地主機訪問云服務器上的redis需要先打開云服務器上的6379端口號,但是打開這個端口號是一個非常危險的操作,會十分容易受到黑客的攻擊。如果想在不開發端口號的情況能夠訪問redis,有兩個方案:
- 把寫好的Java程序打成jar包,轉移到Linux上運行。這樣redis和Java程序在一臺主機上Java程序就能訪問到redis,但缺點是在開發階段想要測試就需要打jar到linux上測試
- 配置ssh端口轉發,把云服務器上的6379端口映射到本地的某個端口例如7379,當訪問本地7379端口時,會通過本地的22端口(ssh)發送給云服務器, 云服務器上的ssh程序解析后再轉發給6379端口
點擊我們云服務器連接的屬性,點擊ssh下的隧道,點擊添加即可添加端口映射。
2. 使用Java程序連接redis
創建一個maven項目,引入jedis依賴:
<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>5.2.0</version></dependency>
編寫代碼連接redis:
public class RedisDome {public static void main(String[] args) {//連接Redis服務器JedisPool pool = new JedisPool("tcp://127.0.0.1:6379");Jedis jedis = pool.getResource();//redis 中的命令對于jedis對象的各種方法String pong = jedis.ping();System.out.println(pong);jedis.close();}
}
可以看到 連接已經成功了,接下來就可以通過jedis中的方法來執行redis中對應的指令操作。?