Redis 介绍
1. 介绍¶
下载安装,在官网找到最新最稳定的下载地址
root@manage01:/usr/local/src# wget http://download.redis.io/releases/redis-5.0.3.tar.gz --2019-03-11 11:11:06-- 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... 200 OK Length: 1959445 (1,9M) [application/x-gzip] Saving to: ‘redis-5.0.3.tar.gz’ redis-5.0.3.tar.gz 100%[====================================================================================================>] 1,87M 643KB/s in 3,0s 2019-03-11 11:11:10 (643 KB/s) - ‘redis-5.0.3.tar.gz’ saved [1959445/1959445] root@manage01:/usr/local/src# ls redis-5.0.3.tar.gz redis-5.0.3.tar.gz root@manage01:/usr/local/src# tar xf redis-5.0.3.tar.gz -C /usr/local ccroot@manage01:/usr/local/src# cd /usr/local root@manage01:/usr/local# ln -sf redis-5.0.3/ redis root@manage01:/usr/local# cd redis root@manage01:/usr/local/redis# make root@manage01:/usr/local/redis# echo $? 0 等于0 就表示编码没有错误。 root@manage01:/usr/local/redis# mkdir bin conf data log root@manage01:/usr/local/redis# ls bin conf data log
make完后 redis-5.0.3目录下会出现编译后的redis服务程序redis-server,还有用于测试的客户端程序redis-cli,两个程序位于安装目录 src 目录下:下面启动redis服务.
2. 配置¶
root@manage01:/usr/local/redis-s/src# cp -aR redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server redis-trib.rb redis-benchmark /usr/local/redis/bin/ root@manage01:/usr/local/redis-s/src# cp ../redis.conf /usr/local/redis/conf/ root@manage01:~# cat /usr/local/redis/conf/redis.conf daemonize yes pidfile "/usr/local/redis/log/redis.pid" port 6379 timeout 300 loglevel debug logfile "/usr/local/redis/log/redis.log" databases 16 save 900 1 save 300 10 save 60 10000 rdbcompression yes dbfilename "dump.rdb" dir "/usr/local/redis/data" appendonly no appendfsync always bind 0.0.0.0
参数解释
daemonize no(默认),改成 yes,意思是是否要后台启动。
root@manage01:~# cd /usr/local/redis root@manage01:/usr/local/redis# tree . . ├── bin │ ├── redis-benchmark │ ├── redis-check-aof │ ├── redis-check-rdb │ ├── redis-cli │ ├── redis-sentinel │ ├── redis-server │ └── redis-trib.rb ├── conf │ ├── redis.conf │ └── redis.conf.ori ├── data │ └── dump.rdb └── log ├── redis.log └── redis.pid 4 directories, 12 files 中间有省略,最终是这样
3. 配置环境变量¶
root@manage01:~# grep redis /etc/profile export PATH=$PATH:/usr/local/redis/bin root@manage01:~# source /etc/profile
4. 启动脚本¶
root@manage01:/usr/local/redis/conf# cat /etc/init.d/redis #!/bin/sh # # Simple Redis init.d script conceived to work on Linux systems # as it does use of the /proc filesystem. # chkconfig: 2345 90 10 # description: Redis is a persistent key-value database # REDISPORT=6379 EXEC=/usr/local/redis/bin/redis-server CLIEXEC=/usr/local/redis/bin/redis-cli PIDFILE=/usr/local/redis/log/redis.pid CONF="/usr/local/redis/conf/redis.conf" case "$1" in start) if [ -f $PIDFILE ] then echo "$PIDFILE exists, process is already running or crashed" else echo "Starting Redis server..." $EXEC $CONF echo $(ps aux|grep redis|grep -v grep|grep 6379|awk '{print $2}')>$PIDFILE fi ;; stop) if [ ! -f $PIDFILE ] then echo "$PIDFILE does not exist, process is not running" else PID=$(cat $PIDFILE) echo "Stopping ..." $CLIEXEC -p $REDISPORT shutdown while [ -x /proc/${PID} ] do echo "Waiting for Redis to shutdown ..." sleep 1 done echo "Redis stopped" cd /usr/local/redis/log/ && rm -f redis.pid fi ;; *) echo "Please use start or stop as first argument" ;; esac root@manage01:/usr/local/redis/conf# chmod +x /etc/init.d/redis
5. 启动与停止¶
root@manage01:/usr/local/redis/conf# /etc/init.d/redis stop Stopping ... Redis stopped root@manage01:/usr/local/redis/conf# !p pwd /usr/local/redis/conf root@manage01:/usr/local/redis/conf# !ps ps axf|grep redis 11619 pts/18 S+ 0:00 | \_ grep --color=auto redis root@manage01:/usr/local/redis/conf# /etc/init.d/redis start Starting Redis server... root@manage01:/usr/local/redis/conf# !ps ps axf|grep redis 11634 pts/18 S+ 0:00 | \_ grep --color=auto redis 11622 ? Ssl 0:00 /usr/local/redis/bin/redis-server 0.0.0.0:6379
6. 基本测试¶
root@manage01:~# redis-cli 127.0.0.1:6379> keys * (empty list or set) 127.0.0.1:6379> set k1 v1 OK 127.0.0.1:6379> get k1 "v1" 127.0.0.1:6379> root@manage01:~# redis-cli 127.0.0.1:6379> get k1 "v1" 127.0.0.1:6379> root@manage01:~# pkill redis root@manage01:~# !ps ps axf|grep redis 11273 pts/18 S+ 0:00 | \_ grep --color=auto redis root@manage01:~# redis-server /usr/local/redis/conf/redis.conf root@manage01:~# ps axf|grep redis 11282 pts/18 S+ 0:00 | \_ grep --color=auto redis 11277 ? Ssl 0:00 redis-server 0.0.0.0:6379 root@manage01:~# redis-cli 127.0.0.1:6379> keys * 1) "k1" 127.0.0.1:6379> get k1 "v1"