在linux上安裝redis,在window上使用redisManager遠程連接

1. 安裝準備:

安裝包:redis-4.0.14.tar.gz

下載地址:https://redis.io/download

reids命令參考:http://doc.redisfans.com

2. 安裝:

上傳,解壓,提取和編譯redis

[root@hadoop104 software]# tar -zxvf redis-4.0.14.tar.gz -C /opt/module/

[root@hadoop104 redis-4.0.14]# make        //編譯

[root@hadoop104 redis-4.0.14]# make install PREFIX=/opt/module/redis      //安裝到指定的路徑下

 

 可能出現的問題:

1.make之前出現該錯誤

make[1]: *** [adlist.o] 錯誤 127

原因:因爲Redis是C實現的,需要gcc來進行編譯,所以原因是系統未安裝gcc

解決辦法:yun install gcc-c++ -y

2. make時出現該錯誤:

zmalloc.h:50:31: 錯誤:jemalloc/jemalloc.h:沒有那個文件或目錄

原因:關於分配器allocator, 如果有MALLOC  這個 環境變量, 會有用這個環境變量的 去建立Redis。而且libc 並不是默認的 分配器, 默認的是 jemalloc, 因爲 jemalloc 被證明 有更少的 fragmentation problems 比libc。但是如果你又沒有jemalloc 而只有 libc 當然 make 出錯。 所以加這麼一個參數。

解決辦法:make MALLOC=libc

 3. make install時出現該錯誤:

make: *** 沒有規則可以創建目標“install”。 停止。

原因:沒有在正確的路徑下執行

解決:在解壓後的文件路徑下,make之後在執行該命令

3. 測試:

在安裝成功之後進入/opt/module/redis目錄下,只有一個bin目錄進入(redis.conf開始並沒有)

開啓redis服務端(默認前臺啓動)

./redis-server

這樣一直處於監聽狀態,ctrl+c就退出了,下面我們改爲啓動守護進程。

後臺啓動

將解壓後的redis中的redis.conf複製一份到安裝目錄

[root@hadoop104 redis-4.0.14]# cp redis.conf  /opt/module/redis/bin/

完成之後,回到/opt/module/redis/bin目錄下(也就是之前說的redis.conf)

進入redis.conf,修改下面的配置

然後再次啓動redis服務端,就會啓動了守護進程,在後臺運行。

./redis-server  redis.conf      //需要手動指定加載的配置文件,並查看是否成功

啓動客戶端測試:

./redis.cli

127.0.0.1:6379> ping
PONG
127.0.0.1:6379> set name hello
OK
127.0.0.1:6379> get name
"hello"

4. redisDesktopManager連接問題

軟件下載地址:https://redisdesktop.com/download

安裝完成之後,在window上使用redisDesktopManager連接在Linux上安裝好的redis,但是就是連接不上,問題可能有下列幾種:

  1. 不允許公網連接
  2. 防火牆禁止了redis端口
  3. Redis.conf 下 bind127.0.0.1要註釋掉
  4. Redis.conf 下 requirepass foobared配置密碼

問題1解決方案:

設置redis允許遠程登錄

爲了redis的安全性,redis默認是不允許公網連接的。

問題2解決方案:

  1. 1vim /etc/sysconfig/iptables
  2. 在這個文件中仿照22端口,將redis需要的6379端口填寫進去:-A INPUT -p tcp-m state --state NEW -m tcp --dport 6379 -j ACCEPT(注意:這段代碼需要放置在22端口的下面,否則無法成功)
  3. 重啓防火牆: serviceiptables restart

問題3解決方案:

問題4解決方案:

連接成功:

5  JedisAPI

導入下面的依賴

<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.8.2</version>
</dependency>
Jedis jedis = new Jedis("192.168.1.104",6379); //創建jedis對象,傳入連接的主機名以及端口便可直接調用api操作
//set增、改
//String result = jedis.set("address", "朝陽");
String result = jedis.set("address", "海淀");
//get查
String result1 = jedis.get("address");
//del刪
String result2 = jedis.del("address");
System.out.println(result);
System.out.println(result1);
System.out.println(result2);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章