Redis的基本使用

###在/usr/local/src/下创建文件夹用来存放redis源码包:
[root@liujianfan 09:02:58 /usr/local/src]# mkdir redis

下载redis源码包

[root@liujianfan 09:06:22 /usr/local/src/redis]# wget http://download.redis.io/releases/redis-5.0.3.tar.gz
--2019-03-18 09:06:23--  http://download.redis.io/releases/redis-5.0.3.tar.gz
Resolving download.redis.io (download.redis.io)... 109.74.203.151
Connecting to download.redis.io (download.redis.io)|109.74.203.151|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://120.52.51.19/download.redis.io/releases/redis-5.0.3.tar.gz [following]
--2019-03-18 09:06:23--  http://120.52.51.19/download.redis.io/releases/redis-5.0.3.tar.gz
Connecting to 120.52.51.19:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1959445 (1.9M) [application/x-gzip]
Saving to: ‘redis-5.0.3.tar.gz.1’

100%[====================================================>] 1,959,445    934KB/s   in 2.0s   

2019-03-18 09:06:26 (934 KB/s) - ‘redis-5.0.3.tar.gz.1’ saved [1959445/1959445]

[root@liujianfan 09:06:26 /usr/local/src/redis]# ll
total 3832
-rw-r--r-- 1 root root 1959445 Mar 18  2019 redis-5.0.3.tar.gz

解压:

[root@liujianfan 09:07:09 /usr/local/src/redis]# tar -xf redis-5.0.3.tar.gz 
[root@liujianfan 09:07:20 /usr/local/src/redis]# ll
total 1920
drwxrwxr-x 6 root root    4096 Dec 12 20:25 redis-5.0.3
-rw-r--r-- 1 root root 1959445 Mar 18  2019 redis-5.0.3.tar.gz
[root@liujianfan 09:07:22 /usr/local/src/redis]# 

在编译之前需要安装gcc-c++:

[root@liujianfan 09:07:22 /usr/local/src/redis]# yum -y install gcc-c++

进入redis目录,执行make命令编译,将.c文件编译成.o文件:

[root@liujianfan 09:12:06 /usr/local/src/redis/redis-5.0.3]# make

编译时间大约1~2分钟,一般没有报错并出现以下信息就编译成功:

Hint: It's a good idea to run 'make test' ;)

make[1]: Leaving directory `/usr/local/src/redis/redis-5.0.3/src'

安装在/usr/local/redis目录下:

[root@liujianfan 09:14:24 /usr/local/src/redis/redis-5.0.3]# make PREFIX=/usr/local/redis install
cd src && make install
make[1]: Entering directory `/usr/local/src/redis/redis-5.0.3/src'
    CC Makefile.dep
make[1]: Leaving directory `/usr/local/src/redis/redis-5.0.3/src'
make[1]: Entering directory `/usr/local/src/redis/redis-5.0.3/src'

Hint: It's a good idea to run 'make test' ;)

    INSTALL install
    INSTALL install
    INSTALL install
    INSTALL install
    INSTALL install
make[1]: Leaving directory `/usr/local/src/redis/redis-5.0.3/src'

安装成功后查看文件:

[root@liujianfan 09:15:33 /usr/local/src/redis/redis-5.0.3]# cd /usr/local/redis/
[root@liujianfan 09:16:17 /usr/local/redis]# ls
bin
[root@liujianfan 09:16:18 /usr/local/redis]# cd bin
[root@liujianfan 09:16:30 /usr/local/redis/bin]# ls
redis-benchmark  redis-check-aof  redis-check-rdb  redis-cli  redis-sentinel  redis-server
[root@liujianfan 09:16:31 /usr/local/redis/bin]# 

bin下几个可执行文件的用途:

redis-benchmark ---性能测试工具

redis-check-aof ---AOF文件修复工具

redis-check-rdb ---RDB文件检查工具

redis-cli ---命令行客户端

redis-server ---redis服务器启动命令

redis启动需要一个配置文件,这个配置文件可以修改端口号信息等:

[root@liujianfan 09:24:20 /usr/local/src/redis/redis-5.0.3]# cp redis.conf /usr/local/redis/
[root@liujianfan 09:24:39 /usr/local/src/redis/redis-5.0.3]# 

前端模式启动:

可以直接运行bin下的redis-server,前端模式启动的缺点是启动完成后,不能进行其他操作,如果要操作则需要ctrl+c,同时redis-server程序结束,不推荐使用。

[root@liujianfan 09:27:09 /usr/local/redis/bin]# ./redis-server 
6439:C 18 Mar 2019 09:27:19.023 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
6439:C 18 Mar 2019 09:27:19.023 # Redis version=5.0.3, bits=64, commit=00000000, modified=0, pid=6439, just started
6439:C 18 Mar 2019 09:27:19.023 # Warning: no config file specified, using the default config. In order to specify a config file use ./redis-server /path/to/redis.conf
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 5.0.3 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                   
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 6439
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           http://redis.io        
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'                                               

6439:M 18 Mar 2019 09:27:19.024 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
6439:M 18 Mar 2019 09:27:19.024 # Server initialized
6439:M 18 Mar 2019 09:27:19.024 # 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.
6439:M 18 Mar 2019 09:27:19.024 # 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.
6439:M 18 Mar 2019 09:27:19.024 * Ready to accept connections

后端模式:

首先修改redis.conf配置文件里的daemonize no改为daemonize yes,就可以以后端模式启动:

# By default Redis does not run as a daemon. Use 'yes' if you need it.
# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
daemonize yes

启动时,需要指定配置文件:

[root@liujianfan 09:31:10 /usr/local/redis/bin]# ./redis-server ../redis.conf 
6468:C 18 Mar 2019 09:31:29.597 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
6468:C 18 Mar 2019 09:31:29.597 # Redis version=5.0.3, bits=64, commit=00000000, modified=0, pid=6468, just started
6468:C 18 Mar 2019 09:31:29.597 # Configuration loaded
[root@liujianfan 09:31:29 /usr/local/redis/bin]# 

redis的默认端口是6379,可以用netstat命令查看有没有正常运行:

[root@liujianfan 09:31:29 /usr/local/redis/bin]# netstat -lntup|grep 6379
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      6469/./redis-server 
[root@liujianfan 09:32:14 /usr/local/redis/bin]# 

停止redis:

最好不要强制结束redis,可能会导致redis持久化数据丢失

正确停止redis的方式是向redis发送SHUTDOWN命令,方法为:

[root@liujianfan 09:33:50 /usr/local/redis/bin]# ./redis-cli shutdown
[root@liujianfan 09:53:35 /usr/local/redis/bin]#

 [root@liujianfan 09:53:35 /usr/local/redis/bin]# netstat -lntup|grep 6379
[root@liujianfan 09:53:56 /usr/local/redis/bin]#

连接客户端:

在redis安装目录下的bin/redis-cli是redis自带的基于命令行的redis客户端

使用方法:

redis-cli -h ip地址 -p端口号

比如:

[root@liujianfan 10:00:26 /usr/local/redis/bin]# ./redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379>
posted @ 2019-03-18 21:06  HzdWwZz"LJF  阅读(286)  评论(0)    收藏  举报