redis笔记
redis运行环境搭建(基于linux)
安装redis
可以直接在linux上下载
[root@VM-0-4-centos usr]$ wget http://download.redis.io/releases/redis-6.0.6.tar.gz
也可以将redis的压缩包上传至linux,放在 /usr目录下
然后解压至/usr/local/目录下
[root@VM-0-4-centos usr]$ tar -zxvf redis-5.0.5.tar.gz -C /usr/local
得到一个redis的文件夹
然后开始编译
执行make命令,因为redis是c开发的,所以需要gcc编译器,如果没有的话通过
[root@VM-0-4-centos usr]$ yum install gcc -y
进行安装gcc编译器
如果有gcc直接执行
[root@VM-0-4-centos redis-5.0.5]$ make
如果需要测试编译状态需要执行
[root@VM-0-4-centos redis-5.0.5]$ make test
执行make test需要安装tcl,通过命令
[root@VM-0-4-centos redis-5.0.5]$ yum install tcl -y
编译后产生的可执行文件
名称 | 说明 |
---|---|
redis-server | redis服务器 |
redis-cli | redis命令行客户端 |
redis-benchmark | redis性能测试工具 |
redis-check-aof | aof文件修复工具(持久化) |
redis-sentinel | sentinel服务器(redis哨兵服务器) |
redis-check-rdb | rdb文件修复工具(持久化) |
mkreleasehdr.sh | 编译redis源码时需要用到的一个脚本 |
redis-trib.rb | 官方提供的redis cluster的管理工具,用ruby开发的,使用需要ruby环境(redis集群管理工具) |
redis重要的配置文件
名称 | 说明 |
---|---|
redis.conf | redis的核心配置文件 |
sentinel.conf | redis的哨兵配置文件 |
使用之前修改redis.conf的三个配置项
# 默认为no,改为yes 表示后台启动redis
daemonize yes
# 保护模式 改为no不保护 默认为yes 如果为yes则远程访问不了
protected-mode no
# bind 127.0.0.1需要注释掉,否则只能本机的ip访问
bind 127.0.0.1
启动redis
进入到redis的src目录下执行命令
[root@VM-0-4-centos src]$ ./redis-server ../redis.conf
关闭redis
还是在src目录下
[root@VM-0-4-centos src]$ ./redis-cli shutdown
# 或者
[root@VM-0-4-centos src]$ kill pid
# 或者
[root@VM-0-4-centos src]$ kill -9 pid
#查看redis是否成功运行,检查端口号
[root@VM-0-4-centos src]$ ps -ef | grep redis
切忌不要直接关闭redis进程,要使用shutdown,因为redis可能正在持久化,如果直接kill了那么可能会丢失数据。
客户端连接redis服务端
直接连接:./redis-cli
默认连接本地,端口6379
指定ip和端口连接:./redis-cli -h ip地址 -p 端口
测试redis运行是否正常:ping
返回pong则正常
redis默认为16个库,默认使用0号库
切库命令:select 库下标
查看当前库key的数目:dbsize
删除所有库的数据:flushall
删除当前库的数据:flushdb
查看redis服务器的统计信息:info
获得redis的所有的配置项:config get*
redis配置文件详解
# bind 127.0.0.1需要注释掉,否则只能本机的ip访问
bind 127.0.0.1
# 保护模式 改为no不保护 默认为yes 如果为yes则远程访问不了
protected-mode no
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300
# 默认为no,改为yes 表示后台启动redis
daemonize yes
supervised no
pidfile /var/run/redis_6379.pid
loglevel notice
logfile ""
databases 16
always-show-logo yes
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir ./
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
replica-priority 100
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit replica 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes