*Linux 安装 Redis

*源码编译安装Redis

本教程使用稳定版本,下载并安装Redis:

wget http://download.redis.io/redis-stable.tar.gz
tar -xzvf redis-stable.tar.gz
cd redis-stable
make

执行完 make 命令后,src 目录下会出现编译后的 redis 服务程序 redis-server,还有用于测试的客户端程序 redis-cli,两个程序位于安装目录 src 目录下:

  • redis-server Redis 服务器程序

  • redis-cli 与Redis交互的命令行界面程序

安装可执行程序到/usr/local/bin,执行:

make install

*在前台启动和停止 Redis

安装后,您可以通过运行来启动 Redis

redis-server

如果成功,您将看到 Redis 的启动日志,Redis 将在前台运行。

30858:C 11 May 2023 20:26:52.870 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
30858:C 11 May 2023 20:26:52.870 # Redis version=7.0.11, bits=64, commit=00000000, modified=0, pid=30858, just started
30858:C 11 May 2023 20:26:52.870 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
30858:M 11 May 2023 20:26:52.871 * monotonic clock: POSIX clock_gettime
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 7.0.11 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                  
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 30858
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           https://redis.io       
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'                                               

30858:M 11 May 2023 20:26:52.871 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
30858:M 11 May 2023 20:26:52.871 # Server initialized
30858:M 11 May 2023 20:26:52.871 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. 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.
30858:M 11 May 2023 20:26:52.872 * Ready to accept connections

要停止 Redis,请输入Ctrl-C

注意这种方式启动 redis 使用的是默认配置。也可以通过启动参数告诉 redis 使用指定配置文件使用下面命令启动。

cp redis.conf /etc/redis.conf
redis-server /etc/redis.conf

redis.conf 是一个默认的配置文件。我们可以根据需要使用自己的配置文件。

启动 redis 服务进程后,就可以使用测试客户端程序 redis-cli 和 redis 服务交互了。 比如:

redis-cli
redis> set foo bar
OK
redis> get foo
"bar"

关闭停止redis服务

redis-cli shutdown
#直接关闭不保存内存
redis-cli shutdown nosave

*配置 Redis 为后台服务

将配置文件中的 daemonize no 改成 daemonize yes,配置 redis 为后台启动。

*Redis 设置访问密码

在配置文件中找到 requirepass,去掉前面的注释,并修改后面的密码。

常用配置文件例子 redis.conf

#默认端口6379
port 6379
#绑定ip,如果是内网可以直接绑定 127.0.0.1, 或者忽略, 0.0.0.0是外网
bind 0.0.0.0
#守护进程启动
daemonize yes
#超时
timeout 300
loglevel notice
#分区
databases 16
save 900 1
save 300 10
save 60 10000
rdbcompression yes
#存储文件
dbfilename dump.rdb
#密码 abcd123
requirepass abcd123