centos7遠程伺服器中redis的安裝與java串連

來源:互聯網
上載者:User

標籤:密碼   www.   yum   使用   []   應該   目錄   exception   ...   

1.下載安裝redis

  在遠程伺服器中你想下載的位置執行以下命令來下載redis檔案到伺服器中

  $ wget http://download.redis.io/releases/redis-4.0.9.tar.gz
  說明:$是指你的目前的目錄,不是命令的一部分,wget命令用來下載網上資源,後面的地址是網上資源路徑,你可以去redis官網上尋找你想下載的redis版本的下載路徑
  解壓檔案
  
$ tar xzf redis-4.0.9.tar.gz
  編譯檔案
  $ cd redis-4.0.9
  $ make
  注意:如果在make時報錯有如下原因
    1.沒有安裝gcc(因為redis是用c寫得),並且是4以上版本需要執行 yum install gcc
    2.有可能也要安裝gcc++,需要執行 yum install gcc++
    3.如果要用make test命令測試redis,還需要安裝tcl,命令為 yum install tcl
2.啟動redis服務和用戶端
  在redis-4.0.9(解壓編譯目錄)下執行
  $ src/redis-server
  這樣就啟動了服務,介面會出項相應的啟動資訊
  現在再來啟動用戶端
  $ src/redis-cli

3.使用java用戶端訪問遠程redis服務
  因為redis本身預設是不支援遠程地址訪問的,所以我們需要先配置一下redis
  1.編輯安裝目錄下的redis.conf檔案,注釋掉本地ip綁定,
  #bind 127.0.0.1
  2.在本地用戶端中設定登入密碼
  $ config set requirepass mypwd
  這樣基本就可以啦
  具體的這塊配置參考:
    https://www.cnblogs.com/y-l-h/p/7930085.html
    https://www.cnblogs.com/machanghai/p/5497043.html

  接下來在開發工具中建立maven項目,添加jedis依賴
  <dependencies>      <dependency>        <groupId>redis.clients</groupId>        <artifactId>jedis</artifactId>        <version>2.9.0</version>    </dependency>  </dependencies>

  編寫用戶端

import redis.clients.jedis.Jedis;public class RedisTest {    public static void main(String[] args) {
     //create your redis ip address
     String redisIp = ""; //Connecting to Redis server on cloud server Jedis jedis = new Jedis(redisIp); //authentication password jedis.auth("12358"); System.out.println("Connection to server successfully"); //check whether server is running or not System.out.println("server is running: "+jedis.ping()); }}

結果如下,表示串連成功

Connection to server successfullyserver is running: PONG

 

其他問題:之前用阿里的雲端服務器進行redis遠端連線時會報錯
xception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: connect timed out    at redis.clients.jedis.Connection.connect(Connection.java:207)    at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:93)    at redis.clients.jedis.Connection.sendCommand(Connection.java:126)    at redis.clients.jedis.Connection.sendCommand(Connection.java:117)    at redis.clients.jedis.BinaryClient.auth(BinaryClient.java:564)    at redis.clients.jedis.BinaryJedis.auth(BinaryJedis.java:2138)    at top.pancras.redis.RedisTest.main(RedisTest.java:11)Caused by: java.net.SocketTimeoutException: connect timed out    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85)    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)    at java.net.Socket.connect(Socket.java:589)    at redis.clients.jedis.Connection.connect(Connection.java:184)    ... 6 more

防火牆沒有開啟,不是防火牆的問題,主要在於阿里的雲端服務想要對外開放連接埠還需要在其官網進行配置才可以,參考http://www.cnblogs.com/coffee9527/p/8711906.html,把連接埠改成你要開放的連接埠應該就可以啦


  
  

centos7遠程伺服器中redis的安裝與java串連

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.