大家好,我是Tester1991,一枚普通測驗工程師,熱愛生活,熱愛分享!
Redis官網
https://redis.io/download
阿里云服務器安裝Redis
$ wget http://download.redis.io/releases/redis-6.0.8.tar.gz
$ tar xzf redis-6.0.8.tar.gz
$ cd redis-6.0.8
$ make
安裝程序中如果出現如下錯誤:
serverLog(LL_NOTICE,"The server is now ready to accept connections at %s", server.unixsocket);
^
server.c:5103:19: error: ‘struct redisServer’ has no member named ‘supervised_mode’
if (server.supervised_mode == SUPERVISED_SYSTEMD) {
^
server.c:5104:24: error: ‘struct redisServer’ has no member named ‘masterhost’
if (!server.masterhost) {
^
server.c:5117:15: error: ‘struct redisServer’ has no member named ‘maxmemory’
if (server.maxmemory > 0 && server.maxmemory < 1024*1024) {
^
server.c:5117:39: error: ‘struct redisServer’ has no member named ‘maxmemory’
if (server.maxmemory > 0 && server.maxmemory < 1024*1024) {
^
server.c:5118:176: error: ‘struct redisServer’ has no member named ‘maxmemory’
serverLog(LL_WARNING,"WARNING: You specified a maxmemory value that is less than 1MB (current value is %llu bytes). Are you sure this is what you really want?", server.maxmemory);
^
server.c: In function ‘hasActiveChildProcess’:
server.c:1476:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
server.c: In function ‘allPersistenceDisabled’:
server.c:1482:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
server.c: In function ‘writeCommandsDeniedByDiskError’:
server.c:3747:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
server.c: In function ‘iAmMaster’:
server.c:4914:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
make[1]: *** [server.o] Error 1
make[1]: Leaving directory `/usr/src/redis-6.0.1/src'
make: *** [install] Error 2
出現上面錯誤的原因是redis6.0+以上安裝需要gcc版本5.3及以上,
查看當前gcc版本
gcc -v
我們發現阿里云服務器上面,centos7系統gcc版本默認為4.8.5,
所以我們需要升級gcc版本,
//升級gcc到9以上
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
還需要執行下面命令,二者任選其一
//臨時將此時的gcc版本改為9
scl enable devtoolset-9 bash
//或永久改變
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
執行完上述操作后,執行gcc -v命令,我們會發現gcc版本成功升級到了9.1.1,接下來我們繼續執行make安裝redis6.0+,應該就不會出現什么問題,
redis6.0+安裝成功后,我們如何驗證redis服務是否正常?
啟動服務端
src/redis-server

如上圖,我們發現redis服務已經正常啟動了,
redis服務端已經啟動成功,我們如何進行客戶端連接呢?

Redis組態檔
位置:redis安裝路徑下面redis.conf檔案
修改redis.conf組態檔
1.daemonize設定成yes

2.注釋掉bind 127.0.0.1 添加bind 0.0.0.0

3.protected-mode yes 改為 protected-mode no

配置阿里云安全組規則

經過上述的配置,我們現在完全可以使用redis客戶端進行連接我們的阿里云上面的redis服務了,
Redis客戶端
Redis客戶端我推薦大家使用AnotherRedisDesktopManager這個開源工具,
AnotherRedisDesktopManager地址
https://github.com/qishibo/AnotherRedisDesktopManager

AnotherRedisDesktopManager支持通過工具直接打開redis命令客戶端,
Python連接Redis

import redis
pool = redis.ConnectionPool(host='xxx', port='6379', decode_responses=True)
r = redis.Redis(host='xxx', port='6379', decode_responses=True, password='xxx')
print(r.get('name'))
Java連接Redis

import redis.clients.jedis.Jedis;
public class RedisTest {
public static void main(String[] args) {
Jedis jedis = new Jedis("xxx", 6379);
jedis.auth("root");
System.out.println("連接成功");
//查看服務是否運行
System.out.println("服務正在運行: " + jedis.ping());
System.out.println("redis 存盤的字串為: " + jedis.get("name"));
}
}
如果您覺得我的文章幫助了您,后續我會持續分享軟體測驗相關知識,本篇博客實戰視頻后續我錄制好會上傳,歡迎大家一起學習測驗知識,一起分享!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/128744.html
標籤:其他
上一篇:萌新求幫助
下一篇:python求解
