1 编译安装
官网地址:https://redis.io/topics/quickstart
1.1 运行一下命令进行安装
wget http://download.redis.io/redis-stable.tar.gztar xvzf redis-stable.tar.gzcd redis-stablemake
运行make test进行测试
# make testcd src && make testmake[1]: Entering directory `/root/redis/redis-stable/src'CC Makefile.depmake[1]: Leaving directory `/root/redis/redis-stable/src'make[1]: Entering directory `/root/redis/redis-stable/src'You need tcl 8.5 or newer in order to run the Redis testmake[1]: *** [test] Error 1make[1]: Leaving directory `/root/redis/redis-stable/src'make: *** [test] Error 2
出现以上报错是因为tcl版本太低,需要安装8.5及以上版本
yum install -y tcl-devel
进入redis目录重新编译,并运行test命令
make distcleanmakemake test
将编译后的二进制文件拷贝纸/usr/bin下,主要是一下几个命令
- redis-server :启动redis服务端的二进制文件
- redis-cli:连接redis服务的客户端工具
- redis-sentinel:启动哨兵的二进制文件
- redis-benchmark:redis自带的压测工具
- redis-check-aof:检查aof文件的工具
- redis-check-rdb:检查rdb文件的工具
在编译后的目录下可以看到一个redis.conf和sentinel.conf的配置文件,这两个配置文件一个用于自定义启动server的配置,一个用于启动哨兵的配置,建议不要直接修改这两个文件,可以备份至/etc/redis/目录,后续所有的修改在/etc/redis目录下进行。
1.2 启动redis
默认情况下我们redis的启动后是直接运行在前端的,为了方便,我们可以修改一下配置使redis可以以守护进程的方式运行:
daemonize yes
启动redis server
redis-server /etc/redis/redis.conf
连接redis
redis-cli -p 6379
1.3 redis的一些基本操作
redis是一个基于内存的key/value数据库。
127.0.0.1:6379> set name jack # 设置key:name ,value:jackOK127.0.0.1:6379> get name # 获取name"jack"127.0.0.1:6379> keys * # 查看当前库所有的key,默认是0库1) "name"127.0.0.1:6379> select 1 # 切换至1库OK127.0.0.1:6379[1]> keys *(empty array)127.0.0.1:6379[1]> select 0OK127.0.0.1:6379> FLUSHDB # 清空当前库OK127.0.0.1:6379> FLUSHALL # 清空所有库OK
2 docker 安装
以下为运行redis server的脚本
docker rm -f redis-mastercurrent_dir=$(cd $(dirname $0);pwd)docker run -d --name redis-master \-p 6379:6379 \-v $current_dir/redis.conf:/etc/redis/redis.conf \-v $current_dir/data/:/data \-v /etc/localtime:/etc/localtime \redis:6.2.6 /etc/redis/redis.conf
需要准备一个配置文件,配置文件需要修改以下几个地方
################################# GENERAL ###################################### 以前端形式运行,如果守护进程运行,容器没有主进程无法启动daemonize nopidfile /var/run/redis_6379.pidloglevel noticelogfile ""databases 16################################## NETWORK #####################################bind 0.0.0.0protected-mode yesport 6379tcp-backlog 511timeout 0tcp-keepalive 300################################ SNAPSHOTTING ################################save 3600 1save 300 100save 60 10000stop-writes-on-bgsave-error yesrdbchecksum yesdbfilename dump.rdbrdb-del-sync-files nodir /data # 持久化存放路径,会存放例如rdb、aof、cluster模式下的配置文件等################################## SECURITY ###################################requirepass 123456############################## APPEND ONLY MODE ###############################appendonly no # 未开启aofappendfilename "appendonly.aof"appendfsync everysecno-appendfsync-on-rewrite noauto-aof-rewrite-percentage 100auto-aof-rewrite-min-size 64mbaof-load-truncated yesaof-use-rdb-preamble yes
执行以上脚本即可启动一个单机的redis server。
