Redis 是一種免費的開源內存數據結構存儲,用作消息代理和資料庫緩存,您可以將其與 Apache Kafka 等流媒體解決方案一起使用,以處理和分析具有亞毫秒級延遲的實時數據。
Redis 支持許多數據結構,包括哈希、字符串、Hyperloglog、位圖、地理空間索引、排序列表等,由於其廣泛的語言支持、高可用性和自動分區,它很受歡迎。
在這篇文章中,我們將向您展示如何在 Debian 11 上安裝和配置 Redis 6。
前提條件Debian 11 默認存儲庫中不包含最新版本的 Redis,因此,您需要從 Redis 官方存儲庫安裝它。
首先,使用以下命令安裝所有必需的依賴項:
apt-get install wget curl gnupg -y接下來,使用以下命令下載並添加 GPG 密鑰:
curl https://packages.redis.io/gpg | apt-key add -接下來,使用以下命令添加 Redis 官方存儲庫:
echo "deb https://packages.redis.io/deb $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/redis.list接下來,使用以下命令更新存儲庫緩存並安裝 Redis:
apt-get update -y
apt-get install redis-server -y安裝 Redis 後,使用以下命令驗證 Redis 安裝:
apt-cache policy redis-server您應該會在以下輸出中看到 Redis 包信息:
redis-server:
Installed: 6:6.2.6-3rl1~bullseye1
Candidate: 6:6.2.6-3rl1~bullseye1
Version table:
*** 6:6.2.6-3rl1~bullseye1 500
500 https://packages.redis.io/deb bullseye/main amd64 Packages
100 /var/lib/dpkg/status
6:6.0.16-3rl1~bullseye1 500
500 https://packages.redis.io/deb bullseye/main amd64 Packages
5:6.0.16-1+deb11u1 500
500 http://security.debian.org/debian-security bullseye-security/updates/main amd64 Packages
5:6.0.15-1 500
500 http://debian.gtisc.gatech.edu/debian bullseye/main amd64 Packages要啟動 Redis 服務,請運行以下命令:
systemctl start redis-server要使 Redis 服務在系統重新啟動時啟動,請運行以下命令:
systemctl enable redis-server要檢查 Redis 服務的狀態,請運行以下命令:
systemctl status redis-server您應該看到以下輸出:
? redis-server.service - Advanced key-value store
Loaded: loaded (/lib/systemd/system/redis-server.service; disabled; vendor preset: enabled)
Active: active (running) since Sun 2021-11-28 07:15:00 UTC; 19s ago
Docs: http://redis.io/documentation,
man:redis-server(1)
Main PID: 9079 (redis-server)
Status: "Ready to accept connections"
Tasks: 5 (limit: 4679)
Memory: 7.2M
CPU: 82ms
CGroup: /system.slice/redis-server.service
??9079 /usr/bin/redis-server 127.0.0.1:6379
Nov 28 07:15:00 debian11 systemd[1]: Starting Advanced key-value store...
Nov 28 07:15:00 debian11 systemd[1]: Started Advanced key-value store.默認情況下,Redis 偵聽埠 6379。您可以使用以下命令進行檢查:
ss -antpl | grep redis您將獲得以下輸出:
LISTEN 0 511 127.0.0.1:6379 0.0.0.0:* users:(("redis-server",pid=9079,fd=6))
LISTEN 0 511 [::1]:6379 [::]:* users:(("redis-server",pid=9079,fd=7))完成後,您可以繼續下一步。
配置Redis默認情況下,Redis 偵聽本地主機,如果要從遠程主機連接 Redis,則需要允許 Redis 進行遠程連接。
為此,請使用您喜歡的編輯器編輯 Redis 配置文件:
nano /etc/redis/redis.conf注釋掉以下行:
#bind 127.0.0.1 -::1接下來,設置Redis密碼,如下所示:
requirepass securepassword接下來,更改以下行:
appendonly yes
appendfilename "appendonly.aof"保存並關閉文件,然後重新啟動 Redis 服務以應用更改:
systemctl restart redis-server完成後,您可以繼續下一步。
連接Redis實例您可以使用 redis-cli 命令行實用程序從本地或遠程計算機連接 Redis 伺服器。
運行以下命令連接到Redis實例:
redis-cli連接後,您將獲得以下外殼:
127.0.0.1:6379>現在,使用密碼對Redis進行身份驗證,如下所示:
127.0.0.1:6379> auth securepassword接下來,使用以下命令檢查伺服器:
127.0.0.1:6379> INFO Server您將獲得以下信息:
# Server
redis_version:6.2.6
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:557672d61c1e18ba
redis_mode:standalone
os:Linux 5.10.0-8-amd64 x86_64
arch_bits:64
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:10.2.1
process_id:10828
process_supervised:systemd
run_id:b5ce185f0d4783dd3ddab8cabd38b0ee0263637b
tcp_port:6379
server_time_usec:1638085497530445
uptime_in_seconds:32
uptime_in_days:0
hz:10
configured_hz:10
lru_clock:10695545
executable:/usr/bin/redis-server
config_file:/etc/redis/redis.conf
io_threads_active:0現在,使用以下命令退出 Redis 實例:
127.0.0.1:6379> exit建議對Redis進行基準測試以測試其性能。
運行以下命令測試 Redis 有 10 個並行連接,總共 2k 個請求:
redis-benchmark -h 127.0.0.1 -p 6379 -n 2000 -c 10 -a 安全密碼您將獲得以下輸出:
====== PING_INLINE ======
2000 requests completed in 0.05 seconds
10 parallel clients
3 bytes payload
keep alive: 1
host configuration "save": 3600 1 300 100 60 10000
host configuration "appendonly": no
multi-thread: no
Latency by percentile distribution:
0.000% <= 0.071 milliseconds (cumulative count 1)
50.000% <= 0.159 milliseconds (cumulative count 1090)
75.000% <= 0.207 milliseconds (cumulative count 1507)
87.500% <= 0.303 milliseconds (cumulative count 1769)
93.750% <= 0.359 milliseconds (cumulative count 1880)
96.875% <= 0.415 milliseconds (cumulative count 1942)
98.438% <= 0.455 milliseconds (cumulative count 1971)
99.219% <= 0.495 milliseconds (cumulative count 1985)
99.609% <= 0.791 milliseconds (cumulative count 1993)
99.805% <= 0.919 milliseconds (cumulative count 1997)
99.902% <= 1.031 milliseconds (cumulative count 1999)
99.951% <= 1.103 milliseconds (cumulative count 2000)
100.000% <= 1.103 milliseconds (cumulative count 2000)
Summary:
throughput summary: 35714.29 requests per second
latency summary (msec):
avg min p50 p95 p99 max
0.239 0.096 0.231 0.343 0.439 0.727如需更多命令行選項,請運行以下命令:
redis-benchmark --help
結論在上面的帖子中,我們解釋了如何在 Debian 11 伺服器上安裝和配置 Redis 6,您現在可以在生產環境中實施 Redis,並將其用作消息代理或在內存中緩存數據以加快檢索速度。