如何在Ubuntu 18.04/Debian 9上安装Redis

时间:2020-02-23 14:32:50  来源:igfitidea点击:

在本教程中,我将通过ubuntu 18.04/debian 9上安装Redis服务器的步骤。
Redis是内存数据结构存储的开源。
Redis可以用作数据库服务器,作为消息代理或者用于在内存中缓存数据以便更快地检索。

如何在Ubuntu 18.04/Debian 9上安装Redis

在本节中,我们将研究如何在Ubuntu 18.04/Debian 9上安装最新版本的Redis。
我们可以使用以下命令查看Ubuntu 18.04/debian 9上可用的Redis服务器版本。

$sudo apt policy redis-server
redis-server:
  Installed: (none)
  Candidate: 5:4.0.9-1ubuntu0.1
  Version table:
     5:4.0.9-1ubuntu0.1 500
        500 http://us.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages
        500 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 Packages
     5:4.0.9-1 500
        500 http://us.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages

第1步:更新服务器包列表

在安装Redis之前,请确保系统更新

sudo apt update
sudo apt upgrade
sudo reboot

第2步:在Ubuntu 18.04/Debian 9上安装Redis

redis服务器包在Ubuntu/debian上游存储库上可用。
更新系统后,通过在终端中运行以下命令来安装redis。

sudo apt -y install redis-server

如果我们想拥有更新版本的Redis Server,我们可以选择使用Chris Lea维护的PPA存储库。

sudo add-apt-repository ppa:chris-lea/redis-server
sudo apt-get update
sudo apt -y install redis-server

如果你没有 add-apt-repository在系统上的命令,查看我们的上一稿:

如何在Debian 9/Ubuntu 18.04/16.04上安装Add-APT存储库

确认redis服务器版本:

$redis-server -v
Redis server v=5.0.3 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=45d60903d31a0894

第3步:在Ubuntu 18.04/debian 9上启动Redis服务

默认情况下,应在安装后启动redis服务。
但我们可以使用命令启动并启用服务以手动启动:

sudo systemctl enable --now redis-server

第4步:启用网络侦听Redis服务

对于连接到Redis服务器的网络客户端,它需要服务以侦听网络IP地址。

打开文件 /etc/redis/redis.conf使用我们最喜欢的文本编辑器

sudo vim /etc/redis/redis.conf

然后改变行 bind 127.0.0.1到以下:

bind 0.0.0.0

更改后重新启动redis服务:

sudo systemctl restart redis-server

配置Redis身份验证 - (可选但推荐)

为客户端配置Redis身份验证 AUTH <PASSWORD>在处理任何其他命令之前。

requirepass  <AuthPassword>

例子:

requirepass oobaiY8BA

设置恢复持久商店

通过更改持久模式来设置持久模式 appendonly价值到是的

appendonly yes
appendfilename "appendonly.aof"

更改后重新启动Redis服务

sudo systemctl restart redis-server

检查Redis服务状态:

$systemctl status redis-server
* redis-server.service - Advanced key-value store
   Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2016-12-23 03:42:41 PST; 1s ago
     Docs: http://redis.io/documentation,
           man:redis-server(1)
  Process: 10444 ExecStop=/bin/kill -s TERM $MAINPID (code=exited, status=0/SUCCESS)
  Process: 10447 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS)
 Main PID: 10469 (redis-server)
    Tasks: 4 (limit: 2319)
   CGroup: /system.slice/redis-server.service
           `-10469 /usr/bin/redis-server 0.0.0.0:6379
Dec 23 03:42:40 ubuntu-01 systemd[1]: Starting Advanced key-value store...
Dec 23 03:42:41 ubuntu-01 systemd[1]: Started Advanced key-value store.

我们可以使用redis服务使用的端口和IP使用 ss命令:

$ss -tunelp | grep 6379
tcp LISTEN 0 128  0.0.0.0:6379 0.0.0.0:* uid:112 ino:52652 sk:40 <->

如果我们有一个主动防火墙服务,请允许端口 6379

sudo ufw allow 6379/tcp

步骤5:测试与Redis Server的连接

确认我们可以在本地连接到Redis:

$redis-cli
127.0.0.1:6379>

测试身份验证:

127.0.0.1:6379> AUTH <AuthPassword>
OK

你应该收到 OK在输出中。
如果输入错误的密码,身份验证应失败:

127.0.0.1:6379> AUTH WrongPassword
(error) ERR invalid password

检查redis信息。

127.0.0.1:6379>  INFO

这将输出长期的数据列表。
我们可以通过将部分作为参数来限制输出。
例如。

127.0.0.1:6379> INFO Server
# Server
 Server
redis_version:5.0.3
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:45d60903d31a0894
redis_mode:standalone
os:Linux 4.15.0-38-generic x86_64
arch_bits:64
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:7.3.0
process_id:10469
run_id:1630ad8b0bb9b8b8f811aac4aa7cae1fee51951d
tcp_port:6379
uptime_in_seconds:290
uptime_in_days:0
hz:10
configured_hz:10
lru_clock:2061779
executable:/usr/bin/redis-server
config_file:/etc/redis/redis.conf

第6步:执行redis基准测试

运行基准 15并行连接,总共 10k请求,针对本地redis测试其性能。

$redis-benchmark -h 127.0.0.1 -p 6379 -n 10000 -c 15
# Sample output
................................................
====== LRANGE_500 (first 450 elements) ======
  10000 requests completed in 0.62 seconds
  15 parallel clients
  3 bytes payload
  keep alive: 1
99.66% <= 1 milliseconds
100.00% <= 1 milliseconds
16129.03 requests per second
====== LRANGE_600 (first 600 elements) ======
  10000 requests completed in 0.81 seconds
  15 parallel clients
  3 bytes payload
  keep alive: 1
99.66% <= 1 milliseconds
99.93% <= 2 milliseconds
99.97% <= 3 milliseconds
100.00% <= 3 milliseconds
12345.68 requests per second
====== MSET (10 keys) ======
  10000 requests completed in 0.09 seconds
  15 parallel clients
  3 bytes payload
  keep alive: 1
100.00% <= 0 milliseconds
111111.11 requests per second

有关更多选项和示例,请使用:

$redis-benchmark --help

我们已在Ubuntu 18.04/Debian 9服务器或者工作站上成功安装了Redis。