安装、配置、启动、操作、关闭Redis

一.在Linux上安装Redis

Redis能够兼容绝大部分的POSIX系统,例如LinuxOS XOpenBSDNetBSDFreeBSD,其中比较典型的是Linux操作系统(例如CentOSRedhatUbuntuDebianOS X等)。在Linux安装软件通常有两种方法,第一种是通过各个操作系统的软件管理软件进行安装,例如CentOSyum管理工具,Ubuntuapt。但是由于Redis的更新速度相对较快,而这些管理工具不一定能更新到最新的版本,同时前面提到Redis的安装本身不是很复杂,所以一般推荐使用第二种方式:源码的方式进行安装,整个安装只需以下六步即可完成,以3.0.7版本为例:

$ wget http://download.redis.io/releases/redis-3.0.7.tar.gz

$ tar xzf redis-3.0.7.tar.gz

$ ln -s redis-3.0.7 redis

$ cd redis

$ make

$ make install

1)下载Redis指定版本的源码压缩包到当前目录。

2)解压缩Redis源码压缩包。

3)建立一个redis目录的软连接,指向redis-3.0.7

4)进入redis目录。

5)编译(编译之前确保操作系统已经安装gcc)。

6)安装。

这里有两点要注意:第一,第3步中建立了一个redis目录的软链接,这样做是为了不把redis目录固定在指定版本上,有利于Redis未来版本升级,算是安装软件的一种好习惯。第二,第6步中的安装是将Redis的相关运行文件放到/usr/local/bin/下,这样就可以在任意目录下执行Redis的命令。例如安装后,可以在任何目录执行redis-cli–v查看Redis的版本。

$ redis-cli -v

redis-cli 3.0.7

二.配置、启动、操作、关闭Redis

Redis安装之后,src和/usr/local/bin目录下多了几个以redis开头可执行文件,我们称之为Redis Shell,这些可执行文件可以做很多事情,例如可以启动和停止Redis、可以检测和修复Redis的持久化文件,还可以检测Redis的性能。表1-2中分别列出这些可执行文件的说明。

1.启动Redis

有三种方法启动Redis:默认配置、运行配置、配置文件启动。

(1)默认配置

这种方法会使用Redis的默认配置来启动,下面就是redis-server执行后输出的相关日志:

[root@service1 redis]# redis-server

7288:C 04 Aug 18:31:11.778 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf

7288:M 04 Aug 18:31:11.780 * Increased maximum number of open files to 10032 (it was originally set to 1024).

                _._                                                  

           _.-``__ ''-._                                             

      _.-``    `.  `_.  ''-._           Redis 3.0.7 (00000000/0) 64 bit

  .-`` .-```.  ```\/    _.,_ ''-._                                   

 (    '      ,       .-`  | `,    )     Running in standalone mode

 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379

 |    `-._   `._    /     _.-'    |     PID: 7288

  `-._    `-._  `-./  _.-'    _.-'                                   

 |`-._`-._    `-.__.-'    _.-'_.-'|                                  

 |    `-._`-._        _.-'_.-'    |           http://redis.io        

  `-._    `-._`-.__.-'_.-'    _.-'                                   

 |`-._`-._    `-.__.-'    _.-'_.-'|                                  

 |    `-._`-._        _.-'_.-'    |                                  

  `-._    `-._`-.__.-'_.-'    _.-'                                   

      `-._    `-.__.-'    _.-'                                       

          `-._        _.-'                                           

              `-.__.-'                                               

 

7288:M 04 Aug 18:31:11.806 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.

7288:M 04 Aug 18:31:11.806 # Server started, Redis version 3.0.7

7288:M 04 Aug 18:31:11.806 # 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 a

nd then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.7288:M 04 Aug 18:31:11.806 # 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 t

he 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.7288:M 04 Aug 18:31:11.806 * The server is now ready to accept connections on port 6379

可以看到直接使用redis-server启动Redis后,会打印出一些日志,通过

日志可以看到一些信息,上例中可以看到:

·当前的Redis版本的是3.0.7。

·Redis的默认端口是6379。

·Redis建议要使用配置文件来启动。

因为直接启动无法自定义配置,所以这种方式是不会在生产环境中使用

的。

(2)运行启动

redis-server加上要修改配置名和值(可以是多对),没有设置的配置将使用默认配置:

# redis-server --configKey1 configValue1 --configKey2 configValue2

例如,如果要用6380作为端口启动Redis,那么可以执行:

# redis-server --port 6380

虽然运行配置可以自定义配置,但是如果需要修改的配置较多或者希望

将配置保存到文件中,不建议使用这种方式。

(3)配置文件启动

将配置写到指定文件里,例如我们将配置写到了/opt/redis/redis.conf

中,那么只需要执行如下命令即可启动Redis:

# redis-server /opt/redis/redis.conf

Redis有60多个配置,这里只给出一些重要的配置(参见表1-3),其他

配置会随着不断深入学习进行介绍,第14章会将所有的配置说明进行汇总。

Redis目录下都会有一个redis.conf配置文件,里面就是Redis的默认配置,通常来讲我们会在一台机器上启动多个Redis,并且将配置集中管理在指定目录下,而且配置不是完全手写的,而是将redis.conf作为模板进行修改。显然通过配置文件启动的方式提供了更大的灵活性,所以大部分生产环境会使用这种方式启动Redis。

2.Redis命令行客户端

现在我们已经启动了Redis服务,下面将介绍如何使用redis-cli连接、操作Redis服务。redis-cli可以使用两种方式连接Redis服务器

·第一种是交互式方式:通过redis-cli-h{host}-p{port}的方式连接到Redis服务,之后所有的操作都是通过交互的方式实现,不需要再执行redis-cli了,例如:

redis-cli -h 127.0.0.1 -p 6379

127.0.0.1:6379> set hello world

OK

127.0.0.1:6379> get hello

"world"

·第二种是命令方式:用redis-cli-h ip{host}-p{port}{command}就可以直接得到命令的返回结果,例如:

redis-cli -h 127.0.0.1 -p 6379 get hello

"world"

这里有两点要注意:1)如果没有-h参数,那么默认连接127.0.0.1;如果没有-p,那么默认6379端口,也就是说如果-h和-p都没写就是连接127.0.0.1:6379这个Redis实例。2)redis-cli是学习Redis的重要工具,同时redis-cli还提供了很多有价值的参数,可以帮助解决很多问题

 

3.停止Redis服务

Redis提供了shutdown命令来停止Redis服务,例如要停掉127.0.0.1上

6379端口上的Redis服务,可以执行如下操作。

 

$ redis-cli shutdown

 

可以看到Redis的日志输出如下:

7288:M 04 Aug 18:35:22.421 # User requested shutdown...  客户端发出的shutdown命令

7288:M 04 Aug 18:35:22.421 * Saving the final RDB snapshot before exiting.  保存RDB持久化文件

7288:M 04 Aug 18:35:22.428 * DB saved on disk  将RDB文件保存在磁盘上

7288:M 04 Aug 18:35:22.428 # Redis is now ready to exit, bye bye...  关闭

 

当使用redis-cli再次连接该Redis服务时,看到Redis已经“失联”。

$ redis-cli

Could not connect to Redis at 127.0.0.1:6379: Connection refused

 

这里有三点需要注意一下:

1)Redis关闭的过程:断开与客户端的连接、持久化文件生成,是一种相对优雅的关闭方式。

2)除了可以通过shutdown命令关闭Redis服务以外,还可以通过kill进程号的方式关闭掉Redis,但是不要粗暴地使用kill-9强制杀死Redis服务,不但不会做持久化操作,还会造成缓冲区等资源不能被优雅关闭,极端情况会造成AOF和复制丢失数据的情况。

3)shutdown还有一个参数,代表是否在关闭Redis前,生成持久化文件:

redis-cli shutdown nosave|save

猜你喜欢

转载自blog.csdn.net/w892824196/article/details/81414119