Redis(Remote Dictionary Server)是一个开源的内存数据存储系统,也被称为键值存储数据库。它支持多种数据结构,包括字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)和有序集合(sorted sets)等,并提供了丰富的操作命令和功能。
yum下载
yum install redis
编译安装
下载依赖
yum -y install gcc*
解压,-C 指定解压在哪个目录下
tar xvf redis-7.2.4.tar.gz -C /home/
编译,如果make出错,则使用 make MALLOC=libc
cd /home/redis-7.2.4/
make
配置文件
[root@test1 redis-7.2.4]# grep -vE '^\s*#|^\s*$' redis.conf
bind 127.0.0.1 -::1 #绑定的ip地址,可注释或改为0.0.0.0,是其他机器可访问
protected-mode yes #是否开启保护模式,默认开启。要是配置里没有指定bind和密码。开启该参数后,redis只会本地进行访问
port 6379 #指定 Redis 监听端口,默认端口为 6379
tcp-backlog 511 #TCP连接中已完成队列(完成三次握手之后)的长度
timeout 0 #当客户端闲置多长时间后关闭连接,如果指定为 0,表示关闭该功能
tcp-keepalive 300 #TCP连接保活策略,每隔几秒向连接空闲的客户端发起一次 ACK 请求,以检查客户端是否已经挂掉,对于无响应的客户端则会关闭其连接
daemonize no #Redis 默认不是以守护进程的方式运行 daemonize no,可以通过该配置项修改,使用 yes 启用守护进程
pidfile /var/run/redis_6379.pid #redis的进程文件
loglevel notice #指定日志记录级别,Redis 总共支持四个级别:debug(很多信息,方便开发、测试),verbose(许多有用的信息,但是没有debug级别信息多),notice(适当的日志级别,适合生产环境),warn(只有非常重要的信息),默认为 verbose
logfile "" #日志记录方式,默认为标准输出,如果配置 Redis 为守护进程方式运行,而这里又配置为日志记录方式为标准输出,则日志将会发送给 /dev/null
databases 16 #设置数据库的数量,默认数据库为 0,可以使用 SELECT <dbid> 命令在连接上指定数据库 id
always-show-logo no
set-proc-title yes
proc-title-template "{title} {listen-addr} {server-mode}"
locale-collate ""
stop-writes-on-bgsave-error yes
rdbcompression yes #指定存储至本地数据库时是否压缩数据,默认为 yes,Redis 采用 LZF 压缩,如果为了节省 CPU 时间,可以关闭该选项,但会导致数据库文件变的巨大
rdbchecksum yes #是否校验rdb文件,有利于文件的容错性,但是在保存rdb文件的时候,会有大概10%的性能损耗
dbfilename dump.rdb #指定本地数据库文件名,默认值为 dump.rdb
rdb-del-sync-files no
dir ./ #指定本地数据库存放目录
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync yes
repl-diskless-sync-delay 5
repl-diskless-sync-max-replicas 0
repl-diskless-load disabled
repl-disable-tcp-nodelay no
replica-priority 100
acllog-max-len 128
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
lazyfree-lazy-user-del no
lazyfree-lazy-user-flush no
oom-score-adj no
oom-score-adj-values 0 200 800
disable-thp yes
appendonly no
appendfilename "appendonly.aof"
appenddirname "appendonlydir"
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
aof-timestamp-enabled no
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-listpack-entries 512
hash-max-listpack-value 64
list-max-listpack-size -2
list-compress-depth 0
set-max-intset-entries 512
set-max-listpack-entries 128
set-max-listpack-value 64
zset-max-listpack-entries 128
zset-max-listpack-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
jemalloc-bg-thread yes
建立软链
ln -s /home/redis-7.2.4/src/* /usr/local/sbin/
启动服务,默认配置文件为redis.conf,可在后面接其他配置文件路径,使用其他配置文件,& 放入后台
redis-server &
登录数据库
#默认登录,使用本地ip+默认端口,登录0号数据库
redis-cli
#指定ip,端口登录
redis-cli -h ip -p 6379
#指定数据库登录
redis-cli -n 2
#以集群模式登录
redis-cli -c -h <host> -p <port>
#使用密码登录(先设置密码)
redis-cli -h <host> -p <port> -a
为集群设置密码,编辑配置文件,新增一行
vim redis.conf
requirepass password