雲伺服器安裝 redis

2023-02-27 15:01:01

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

此處範例使用的版本是:redis-6.2.10.tar.gz

前提環境:

  • 雲伺服器
  • Xshell(操作終端)
  • Xftp(傳輸工具)
  • Redis Desktop Manager(redis 視覺化使用者端,可選)

1. 下載 redis

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

此處範例使用的版本是:redis-6.2.10.tar.gz

將下載好的安裝包上傳到伺服器 /usr/project/util 位置(安裝包存放位置可自定義)

2. 安裝 redis

安裝 redis 需要 gcc 環境:

yum install gcc-c++

在當前安裝包位置使用命令進行解壓:

tar -zxvf redis-6.2.10.tar.gz

進入解壓後的 redis-6.2.10 資料夾下,分別執行編譯和安裝命令:

make
make install PREFIX=/usr/local/redis

3. 啟動 redis

前臺啟動此處就不介紹了,此處直接介紹後臺啟動方式。

但是可以先前臺啟動測試下是否安裝成功:

啟動:在 /usr/local/redis/bin 下執行 ./redis-server 命令

關閉:在 /usr/local/redis/bin 下執行 redis-cli shutdown 命令

說明:後臺啟動需要 redis.conf 組態檔,而且需要修改幾個設定引數。

雲伺服器修改檔案內容方式建議:建議使用 Xftp 下載到 Windows 中,修改完後,再上傳到雲伺服器,簡單實用!

/usr/project/util/redis-6.2.10 下的 redis.conf 檔案下載到 Windows 中,進行以下三處修改:

1. daemonize no 改為 daemonize yes
2. bind 127.0.0.1 前面加 # 將其註釋
3. protected-mode yes 改成 protected-mode no

修改完,儲存後,將其上傳到 /usr/local/redis/bin 下,執行命令,後臺執行:

/usr/local/redis/bin/redis-server redis.conf

檢視執行狀態:

ps -ef|grep redis

4. 視覺化使用者端連線 redis(可選)

開啟 Redis Desktop Manager 軟體,點選左下方 Connect to Redis Server,建立 Redis 連線:

先連線測試,成功後,點選 OK,即可成功連線!

其它可能問題

  • 雲伺服器 6379 埠需要開放
  • 本機系統伺服器防火牆 6379 埠需要開放

5. Java 操作 Redis

  1. 新建 maven 專案,新增 Jedis 依賴

    <!-- Jedis -->
    <dependency>
        <groupId>redis.clients</groupId>
        <artifactId>jedis</artifactId>
        <version>3.3.0</version>
    </dependency>
    
  2. 建立測試類,測試

    @SpringBootTest
    class RedisDemoApplicationTests {
    
        @Test
        void contextLoads() {
    
            Jedis jedis = new Jedis("伺服器埠", 6379);
            // System.out.println(jedis.ping()); // 返回PONG即連線成功
    
            for (int i = 0; i < 3; i++) {
                String s = jedis.set("k" + i, "v" + i);
                System.out.println("========> " + s);
            }
    
            System.out.println("--------------------------");
            Set<String> keys = jedis.keys("*");
            for (String key : keys) {
                System.out.println(key + " " + jedis.get(key));
            }
        }
    }