【Chapter-1】开始使用Redis
下载和安装redis
redis官方网址:https://redis.io/
安装编译工具
为redis创建目录并切换到所创建的目录中
下载redis
解压到下载到redis源码并切换到对应的目录下
为redis的配置文件创建目录,并把默认的配置文件复制进去
编译依赖项
编译redis
安装redis
进入/redis目录并验证生成了redis的二进制可执行文件
具体操作步骤如下
安装详细过程
[root@wms-redis-test-1 ~]# cd /
#为redis创建工作目录并切换到对应的目录下
[root@wms-redis-test-1 /]# mkdir redis
[root@wms-redis-test-1 /]# cd redis
[root@wms-redis-test-1 redis]# ll
total 0
# 下载redis最新版
[root@wms-redis-test-1 redis]# wget http://download.redis.io/releases/redis-4.0.11.tar.gz
-bash: wget: command not found
[root@wms-redis-test-1 redis]# yum -y install wget vim
[root@wms-redis-test-1 redis]# wget http://download.redis.io/releases/redis-4.0.11.tar.gz
# 解压并切换到对应的目录下
[root@wms-redis-test-1 redis]# tar -zxvf redis-4.0.11.tar.gz
[root@wms-redis-test-1 redis]# ll
total 1704
drwxrwxr-x 6 root root 4096 Aug 3 18:44 redis-4.0.11
-rw-r--r-- 1 root root 1739656 Aug 3 18:46 redis-4.0.11.tar.gz
[root@wms-redis-test-1 redis]# cd redis-4.0.11
[root@wms-redis-test-1 redis-4.0.11]# ll
total 312
-rw-rw-r-- 1 root root 164219 Aug 3 18:44 00-RELEASENOTES
-rw-rw-r-- 1 root root 53 Aug 3 18:44 BUGS
-rw-rw-r-- 1 root root 1815 Aug 3 18:44 CONTRIBUTING
-rw-rw-r-- 1 root root 1487 Aug 3 18:44 COPYING
drwxrwxr-x 6 root root 4096 Aug 3 18:44 deps
-rw-rw-r-- 1 root root 11 Aug 3 18:44 INSTALL
-rw-rw-r-- 1 root root 151 Aug 3 18:44 Makefile
-rw-rw-r-- 1 root root 4223 Aug 3 18:44 MANIFESTO
-rw-rw-r-- 1 root root 20543 Aug 3 18:44 README.md
-rw-rw-r-- 1 root root 58766 Aug 3 18:44 redis.conf
-rwxrwxr-x 1 root root 271 Aug 3 18:44 runtest
-rwxrwxr-x 1 root root 280 Aug 3 18:44 runtest-cluster
-rwxrwxr-x 1 root root 281 Aug 3 18:44 runtest-sentinel
-rw-rw-r-- 1 root root 7921 Aug 3 18:44 sentinel.conf
drwxrwxr-x 3 root root 4096 Aug 3 18:44 src
drwxrwxr-x 10 root root 4096 Aug 3 18:44 tests
drwxrwxr-x 8 root root 4096 Aug 3 18:44 utils
# 为redis配置文件创建目录,并把默认的配置文件复制进去
[root@wms-redis-test-1 redis-4.0.11]# mkdir /redis/conf
[root@wms-redis-test-1 redis-4.0.11]# cp redis.conf /redis/conf/
# 编译依赖项
[root@wms-redis-test-1 redis-4.0.11]# cd deps
[root@wms-redis-test-1 deps]# ll
total 28
drwxrwxr-x 4 root root 4096 Aug 3 18:44 hiredis
drwxrwxr-x 7 root root 4096 Aug 3 18:44 jemalloc
drwxrwxr-x 2 root root 4096 Aug 3 18:44 linenoise
drwxrwxr-x 6 root root 4096 Aug 3 18:44 lua
-rw-rw-r-- 1 root root 2518 Aug 3 18:44 Makefile
-rw-rw-r-- 1 root root 3517 Aug 3 18:44 README.md
-rwxrwxr-x 1 root root 282 Aug 3 18:44 update-jemalloc.sh
[root@wms-redis-test-1 deps]# make hiredis lua jemalloc linenoise
(cd hiredis && make clean) > /dev/null || true
(cd linenoise && make clean) > /dev/null || true
(cd lua && make clean) > /dev/null || true
(cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true
(rm -f .make-*)
(echo "" > .make-cflags)
(echo "" > .make-ldflags)
MAKE hiredis
cd hiredis && make static
make[1]: Entering directory `/redis/redis-4.0.11/deps/hiredis'
gcc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb net.c
make[1]: gcc: Command not found
make[1]: *** [net.o] Error 127
make[1]: Leaving directory `/redis/redis-4.0.11/deps/hiredis'
make: *** [hiredis] Error 2
#编译报错,安装编译工具后继续编译
[root@wms-redis-test-1 deps]# yum groupinstall "Development Tools"
[root@wms-redis-test-1 deps]# make hiredis lua jemalloc linenoise
# 编译redis,看到如下提示,证明编译完成
[root@wms-redis-test-1 redis-4.0.11]# cd ..
[root@wms-redis-test-1 redis-4.0.11]# make
Hint: It's a good idea to run 'make test' ;)
make[1]: Leaving directory `/redis/redis-4.0.11/src'
# 安装redis
[root@wms-redis-test-1 redis-4.0.11]# make PREFIX=/redis install
cd src && make install
make[1]: Entering directory `/redis/redis-4.0.11/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 `/redis/redis-4.0.11/src'
# 进入redis目录并验证生成了redis的二进制可执行文件
[root@wms-redis-test-1 redis-4.0.11]# cd /redis/bin
[root@wms-redis-test-1 bin]# ll
total 21888
-rwxr-xr-x 1 root root 2451928 Oct 8 00:10 redis-benchmark
-rwxr-xr-x 1 root root 5776224 Oct 8 00:10 redis-check-aof
-rwxr-xr-x 1 root root 5776224 Oct 8 00:10 redis-check-rdb
-rwxr-xr-x 1 root root 2618016 Oct 8 00:10 redis-cli
lrwxrwxrwx 1 root root 12 Oct 8 00:10 redis-sentinel -> redis-server
-rwxr-xr-x 1 root root 5776224 Oct 8 00:10 redis-server
安装完成后,bin目录中会有一些可执行文件
命令
说明
redis-benchmark:
REDIS基准、性能测试工具
redis-check-aof:
redis append only files(AOF)检查工具
redis-check-rdb:
redis RDB检查工具
redis-cli:
redis命令行工具
redis-sentinel -> redis-server:
redis-server的软连接
redis-server:
redis服务端
启动和停止redis
使用默认配置来启动一个redis实例
$ bin/redis-server
指定redis配置文件,例如使用从源码包拷贝过来的配置文件
$ bin/redis-server conf/redis.conf
如果是从操作系统的软件仓库中安装的redis,那么可以使用init.d脚本启动redis
$ /etc/init.d/redis-server start
如果要以redis-server守护进程的方式在后台启动redis,那么可以编辑配置文件并将daemonize参数设为yes,并使用该配置文件启动
$ vim conf/redis.conf daemonize yes $ bin/redis-server conf/redis.conf
Configuration loaded说明配置文件已经生效
相应地,可以使用ctrl+c(如果redis是以前台模式启动的),或者kill+pid(如果redis是以后台模式启动的)来停止redis服务
$ kill
pidof redis-server
更加优雅和推荐的停止redis的方式是通过redis-cli调用shutdown命令:
$ cd /redis $ bin/redis-cli shutdown
如果redis是从软件仓库中安装的话,那么还可以通过init.d脚本关闭
$ /etc/init.d/redis-server stop
使用redis-cli连接到redis
打开终端,并通过redis-cli连接到redis
[root@wms-redis-test-1 redis]# bin/redis-server conf/redis.conf
7182:C 08 Oct 02:11:45.425 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
7182:C 08 Oct 02:11:45.425 # Redis version=4.0.11, bits=64, commit=00000000, modified=0, pid=7182, just started
7182:C 08 Oct 02:11:45.425 # Configuration loaded
[root@wms-redis-test-1 redis]# bin/redis-cli
127.0.0.1:6379>ping
PONG
127.0.0.1:6379> set name woms
OK
127.0.0.1:6379> get name
"woms"
127.0.0.1:6379> shutdown
not connected> exit
[root@wms-redis-test-1 redis]#
默认情况下,redis-cli会连接到127.0.0.1:6379(默认端口)上运行的redis实例,也可以使用
-h:指定主机名、ip
-p:指定端口号
-a:指定密码(如果设置了连接密码)
获取服务器信息
连接到一个redis实例,然后执行info命令
$ bin/redis-cli 127.0.0.1:6379> info
结果如下
# Server ... # Clients ... # Memory ... # Persistence ... # Stats ... # CPU ... Cluster cluster_enabled:0
我们可以通过增加一个可选的参数来指定获取那一部分信息
127.0.0.1:6379> info server
# Server
redis_version:4.0.11
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:6b5c3692c9d6f3c0
redis_mode:standalone
os:Linux 3.10.0-693.el7.x86_64 x86_64
arch_bits:64
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:4.8.5
process_id:7822
run_id:f1cd71e4cc7520cc1c2ce09929a5f288df068632
tcp_port:6379
uptime_in_seconds:386
uptime_in_days:0
hz:10
lru_clock:12253626
executable:/redis/bin/redis-server
config_file:/redis/conf/redis.conf
使用redis-cli INFO命令,使用这种方式,可以方便的将命令的输出重定向到一个脚本中,进行指标分析和性能监控
$ bin/redis-cli INFO
$ bin/redis-cli INFO SERVER
INFO命令返回的信息
名称
描述
Server
关于redis服务器的基本信息
Clients
客户端连接的状态和指标
Memory
大致的内存消耗指标
Persistence
数据持久化相关的状态和指标
Stats
总体统计数据
Replication
主从复制相关的状态和指标
CPU
CPU使用情况
Cluster
redis Cluster状态
Keyspace
数据库相关的统计数据
Last updated
Was this helpful?