1. 养乐多|杨城的个人博客首页
  2. 技术杂谈
  3. Data Analysis

Redis三种启动方式

1. 安装Redis

[www@aspyc tools]$ wget http://download.redis.io/releases/redis-4.0.8.tar.gz
--2018-03-07 21:12:47--  http://download.redis.io/releases/redis-4.0.8.tar.gz
正在解析主机 download.redis.io (download.redis.io)... 109.74.203.151
正在连接 download.redis.io (download.redis.io)|109.74.203.151|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:1729973 (1.6M) [application/x-gzip]
正在保存至: “redis-4.0.8.tar.gz”

100%[=========================================================================================================>] 1,729,973 654KB/s 用时 2.6s

2018-03-07 21:12:50 (654 KB/s) - 已保存 “redis-4.0.8.tar.gz” [1729973/1729973]

[www@aspyc tools]$ tar -zxvf redis-4.0.8.tar.gz #解压
[www@aspyc tools]$ cd ../work/
[www@aspyc work]$ ln -s ../tools/redis-4.0.8 redis  # 建立一个redis目录的软链接,避免Redis目录固定在指定版本上,有利于Redis未来版升级
[www@aspyc work]$ ll
lrwxrwxrwx  1 www www 20 3月   7 21:14 redis -> ../tools/redis-4.0.8
# 进入redis目录,执行编译与安装
[www@aspyc work]$ cd redis/
[www@aspyc redis]$ make # 编译之前确保已经安装了gcc,系统一般默认都有
[www@aspyc redis]$ make install # 执行前注意:当前登录用户需要有 /usr/local/bin/ 目标写权限
# 上述过程执行完毕后,Redis的相关运行文件将会被放到 /usr/local/bin/ 下,这样就可以在任意目录下执行Redis的命令,比如查看Redis版本
[www@aspyc redis]$ redis-cli -v
redis-cli 4.0.8

2. 启动Redis,在这之前可先修改该目录下redis.conf文件将daemonize改成yes(守护进程形式运行)
Redis启动方式有默认配置、运行配置、配置文件启动这三种方式,下面分别介绍这三种启动方式区别。
(1)默认配置,直接执行redis-server命令,意味着按默认配置文件启动Redis服务

[www@aspyc redis]$ redis-server
7205:C 07 Mar 21:53:11.173 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
7205:C 07 Mar 21:53:11.173 # Redis version=4.0.8, bits=64, commit=00000000, modified=0, pid=7205, just started
7205:C 07 Mar 21:53:11.173 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
_._
_.-``__ ''-._
_.-``    `.  `_.  ''-._           Redis 4.0.8 (00000000/0) 64 bit
.-`` .-```.  ```\/    _.,_ ''-._
(    '      ,       .-`  | `,    )     Running in standalone mode
|`-._`-...-` __...-.``-._|'
` _.-'|     Port: 6379
|    `-._   `._    /     _.-'
   |     PID: 7205
`-._    `-._  `-./  _.-'    _.-'
|`-._`-._    `-.__.-'    _.-'_.-'|
|    `-._`-._        _.-'
_.-'    |           http://redis.io
`-._    `-._`-.__.-'
_.-'    _.-'
|`-._`-._    `-.__.-'    _.-'_.-'|
|    `-._`-._        _.-'
_.-'    |
`-._    `-._`-.__.-'
_.-'    _.-'
`-._    `-.__.-'    _.-'
`-._        _.-'
`-.__.-'
       

7205:M 07 Mar 21:53:11.174 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
7205:M 07 Mar 21:53:11.174 # Server initialized
7205:M 07 Mar 21:53:11.174 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
7205:M 07 Mar 21:53:11.174 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
7205:M 07 Mar 21:53:11.175 * Ready to accept connections

redis-server会使用Redis的默认配置来启动,执行后输出了相关日志信息。从信息中可以看到,当前Redis版本号、默认端口号及警告信息建议要使用配置文件来启动。
由于这样直接启动无法自定义配置,所以这种方式是不会在生产环境中使用的。这里可以按 Ctrl+C 终止Redis服务。

(2)运行启动
redis-server 加上要修改的配置名和值(可以是多对),没有设置的配置将使用默认配置:redis-server –confingKey1 configValue1 –configKey2 configValue2

[www@aspyc redis]$ redis-server --port 6380 # 指定端口号

上述方式执行后,输出信息和第一种方式运行后一样。虽然运行启动可以自定义配置,但如果需要修改的配置较多或者希望将配置保存到文件中时,那么这种方式就不太合理,不建议采用这种方式启动redis。

(3)配置文件启动
将配置信息写到配置文件中,例如这里我将默认配置(Redis安装目录下都会有一个redis.conf默认配置文件)拷贝到 /opt/redis/redis.conf中,那么只需要执行如下命令即可启动Redis。

[www@aspyc redis]$ redis-server /opt/redis/redis.conf # 新配置文件路径
7803:C 07 Mar 22:29:47.694 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
7803:C 07 Mar 22:29:47.694 # Redis version=4.0.8, bits=64, commit=00000000, modified=0, pid=7803, just started
7803:C 07 Mar 22:29:47.694 # Configuration loaded

通常情况下一台机器上会启动多个Redis,并将配置信息集中管理在指定目录下,新的配置文件以默认redis.conf文件作为模板进行修改。这种启动方式提供了更大的灵活性,所以大部分生产环境会使用配置文件形式启动Redis。

Redis相关命令

原创文章,作者:iConan,如若转载,请注明出处:https://www.aspyc.com/archives/650.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据