redis安装配置


10033

redis 安装配置

1.简介

是一个高性能的 key-value数据库

2.安装配置

使用官网的安装

$ wget http://download.redis.io/releases/redis-5.0.7.tar.gz
$ tar xzf redis-5.0.7.tar.gz
$ cd redis-5.0.7
$ make

运行完毕后,会生成一个新的src 文件目录,里面存放了所有的redis 的相关工具和配置文件.

可以直接运行redis 服务器

[root@localhost src]# ./redis-server 
port 6379
pid 67606

可以看到,直接运行是前台运行,默认端口是6379 ,一般来说,我们都是运行在后台的,可以编辑它的配置文件redis.conf 配置.这个文件位于redis-5.0.7 中.

[root@localhost src]# cp ../redis.conf ./
[root@localhost src]# vim redis.conf 
# 编辑如下选项,启动后台守护进程
daemonize yes
[root@localhost src]# ./redis-server redis.conf
[root@localhost src]# ps -aux | grep redis
root      67749  0.2  0.1 153848  2340 ?         ./redis-server 127.0.0.1:6379
root      67762  0.0  0.0 112676   984 pts/0   grep --color=auto redis

3.redis.conf

配置文件详解

# redis.conf
# redis服务器加载配置文件运行类似于
# ./redis-server /path/to/redis.conf
#
# 配置文件中需要设置内存大小时,可以使用1k,5GB,4M 等数据格式,转化如下
# 1k => 1000 bytes
# 1kb => 1024 bytes
# 1m => 1000000 bytes
# 1mb => 1024*1024 bytes
# 1g => 1000000000 bytes
# 1gb => 1024*1024*1024 bytes
# 不区分大小写
# 
# 指定reids 只接受来自该ip地址的请求,如果不设置,就处理所有的请求.
# 在生产环境中最好设置这项
# 可以绑定多个ip地址
# bind 192.168.0.1 192.168.0.2
# bind 127.0.0.1
# 
# 指定redis 运行的端口
prot 6379
# 
# daemonize no 默认情况下,redis不是后台运行的,如果要后台运行,要设置成yes
daemonize yes
#
# 是否开启保护,默认是yes
# 如果配置中没有指定bind和密码,开启这个参数,radis只会本地进行访问,拒绝外部访问
protected-mode yes
#
# 配置unix socket来让redis支持监听本地连接。
unixsocket /var/run/redis/redis.sock
# 
# 配置unix socket使用文件的权限
unixsocketperm 700
#
# 当redis运行的时候,redis默认把pid 文件放在/var/run/redis.pid可以配置到其他地址
# 当运行多个redis服务器时,需要指定不同的pid文件和端口
pidfile /var/run/redis_6379.pid
# 
# 设置客户端的连接超时时间,单位为秒.
# 0 为关闭该设置
timeout 0
# 
# 指定日志级别
# redis 支持和4个级别,
# debug 记录很多信息,用于开发和测试
# varbose 有用的信息,但是没有debug那么多
# notice 普通的verbose用于生产环境
# warning  纪录非常重要或严重的信息
# 
# 配置log文件地址
# 默认是stdout,标准输出,如果是后台模式会输出到/dev/null
# logfile ""
logfile /var/log/redis/redis.log
# 是否打开记录syslog功能
# syslog-enabled no
# syslog的标识符
# syslog-ident redis
# 日志的来源、设备
# syslog-facility local0
# 
# 可用的数据库数
# 默认是16
databases 16
################################ 快照  #################################
# 
# 保存数据到磁盘,格式如下
# 
#   save <seconds> <changes>
# 
# 指出在多长时间内,有多少次的更新操作,就将数据同步到数据文件中
# 默认配置
# save 900 1  900秒内至少有1个key被改变
# save 300 10  300秒内至少有10个key被改变
# save 60 10000 60秒类至少有10000个key被改变
save 900 1
save 300 10
save 60 10000
# 存储到本地数据时,时候压缩数据,默认是yes
rdbcompression yes
# 本地持久化数据库文件名称,默认是dump.rdb
dbfilename dump.rdb
#
# 当rdb持久化出现错误后,是否依然进行继续进行工作,
# yes:不能进行工作,
# no:可以继续进行工作,
# 可以通过info中的rdb_last_bgsave_status了解RDB持久化是否有错误
stop-writes-on-bgsave-error yes
#
# 使用压缩rdb文件
# yes:压缩,但是需要一些cpu的消耗
# no:不压缩,需要更多的磁盘空间
rdbcompression yes
# 是否校验rdb文件
rdbchecksum yes
# 
# 
# 工作目录
# 数据库镜像备份的文件放置的路径
# 这里的路径跟文件名要分开配置是因为redis在进行备份时,先会把当前数据库的状态写入到一个临时文件中,等备份完成时,再把该临时文件替换成上面指定的文件,而这里的临时文件和上面所配置的备份文件都会放在这个指定的路径当中
#
# 注意这里必须指定一个目录,而不是文件
#
################################# 复制 #################################
#
# 主从复制,设置主从服务器
#
#   +---------------------+        +-----------------+
#   |      Master              | ---> |    Replica        |
#   | (receive writes)  |        |  (exact copy) |
#   +---------------------+        +-----------------+
# 1.ridis 是异步复制的
# 2.复制是自动的.
# 
# replicaof <masterip> <masterport>
#
# 当master服务设置了密码保护时,slave服务器连接master需要密码
# masterauth <master-password>
#
# 当slave同master失去连接,或者仍然在进行复制是,slave有2种方式运行
#
# 1.如果slave-server-stale-date=yes (默认),slave会继续响应客户端请求
# 2.如果为no,slave服务器对多有的命令发出错误信息'SYNC with master in progress',除去NFO, replicaOF, AUTH, PING, SHUTDOWN, REPLCONF, ROLE, CONFIG,  SUBSCRIBE, UNSUBSCRIBE, PSUBSCRIBE, PUNSUBSCRIBE, PUBLISH, PUBSUB     COMMAND, POST, HOST: and LATENCY.命令
#
slave-serve-stale-data yes
#
# slave服务器读写配置
# 默认情况下是只读的(yes)
# 修改成no,可读可写(不建议)
slave-read-only yes
# 是否使用socket方式复制数据。目前redis复制提供两种方式,disk和socket。如果新的slave连上来或者重连的slave无法部分同步,就会执行全量同步,master会生成rdb文件。有2种方式:disk方式是master创建一个新的进程把rdb文件保存到磁盘,再把磁盘上的rdb文件传递给slave。socket是master创建一个新的进程,直接把rdb文件以socket的方式发给slave。disk方式的时候,当一个rdb保存的过程中,多个slave都能共享这个rdb文件。socket的方式就的一个个slave顺序复制。在磁盘速度缓慢,网速快的情况下推荐用socket方式。
repl-diskless-sync no
# diskless复制的延迟时间,防止设置为0。一旦复制开始,节点不会再接收新slave的复制请求直到下一个rdb传输。所以最好等待一段时间,等更多的slave连上来。
repl-diskless-sync-delay 5
#
# slave会按照一个时间间隔向master 发送 PINGs,设置时间间隔,默认是10秒
# repl-ping-replica-period 10
#
# 设置slave和master数据传输时间间隔
# repl-timeout 60
#
# 
# 是否禁止复制tcp链接的tcp nodelay参数,可传递yes或者no。默认是no,即使用tcp nodelay。如果master设置了yes来禁止tcp nodelay设置,在把数据复制给slave的时候,会减少包的数量和更小的网络带宽。但是这也可能带来数据的延迟。默认我们推荐更小的延迟,但是在数据量传输很大的场景下,建议选择yes。
repl-disable-tcp-nodelay no
# 复制缓冲区大小,这是一个环形复制缓冲区,用来保存最新复制的命令。这样在slave离线的时候,不需要完全复制master的数据,如果可以执行部分同步,只需要把缓冲区的部分数据复制给slave,就能恢复正常复制状态。缓冲区的大小越大,slave离线的时间可以更长,复制缓冲区只有在有slave连接的时候才分配内存。没有slave的一段时间,内存会被释放出来,默认1m。
repl-backlog-size 5mb
# master没有slave一段时间会释放复制缓冲区的内存,repl-backlog-ttl用来设置该时间长度。单位为秒。
repl-backlog-ttl 3600
# 当master不可用,Sentinel会根据slave的优先级选举一个master。最低的优先级的slave,当选master。而配置成0,永远不会被选举。
slave-priority 100
# redis提供了可以让master停止写入的方式,如果配置了min-slaves-to-write,健康的slave的个数小于N,mater就禁止写入。master最少得有多少个健康的slave存活才能执行写命令。这个配置虽然不能保证N个slave都一定能接收到master的写操作,但是能避免没有足够健康的slave的时候,master不能写入来避免数据丢失。设置为0是关闭该功能。
# min-slaves-to-write 3
# 延迟小于min-slaves-max-lag秒的slave才认为是健康的slave。
min-slaves-max-lag 10
# 设置1或另一个设置为0禁用这个特性。
min-slaves-max-lag is set to 10.

###########################SECURITY ###################################
#
# 设置客户端连接后进行任何其他指定前需要使用的密码
#  警告:因为redis速度相当快,所以在一台比较好的服务器下,一个外部的用户可以在一秒钟进行150K次的密码尝试,这意味着你需要指定非常非常强大的密码来防止暴力破解.
# 
# Example:
#
# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52
# 
# 如果要删除一个命令,可以直接重命名它为一个空字符串
#
# rename-command CONFIG ""
# 更多设置参照配置文件.

########################AOF##########################
# 默认redis使用的是rdb方式持久化,这种方式在许多应用中已经足够用了。但是redis如果中途宕机,会导致可能有几分钟的数据丢失,根据save来策略进行持久化,Append Only File是另一种持久化方式,可以提供更好的持久化特性。Redis会把每次写入的数据在接收后都写入 appendonly.aof 文件,每次启动时Redis都会先把这个文件的数据读入内存里,先忽略RDB文件。
appendonly no
# aof文件名
appendfilename "appendonly.aof"
# aof持久化策略的配置
# no表示不执行fsync,由操作系统保证数据同步到磁盘,速度最快。
# always表示每次写入都执行fsync,以保证数据同步到磁盘。
# everysec表示每秒执行一次fsync,可能会导致丢失这1s数据。
appendfsync everysec
# 在aof重写或者写入rdb文件的时候,会执行大量IO,此时对于everysec和always的aof模式来说,执行fsync会造成阻塞过长时间,no-appendfsync-on-rewrite字段设置为默认设置为no。如果对延迟要求很高的应用,这个字段可以设置为yes,否则还是设置为no,这样对持久化特性来说这是更安全的选择。设置为yes表示rewrite期间对新写操作不fsync,暂时存在内存中,等rewrite完成后再写入,默认为no,建议yes。Linux的默认fsync策略是30秒。可能丢失30秒数据。
no-appendfsync-on-rewrite no
# aof自动重写配置。当目前aof文件大小超过上一次重写的aof文件大小的百分之多少进行重写,即当aof文件增长到一定大小的时候Redis能够调用bgrewriteaof对日志文件进行重写。当前AOF文件大小是上次日志重写得到AOF文件大小的二倍(设置为100)时,自动启动新的日志重写过程。
auto-aof-rewrite-percentage 100
# 设置允许重写的最小aof文件大小,避免了达到约定百分比但尺寸仍然很小的情况还要重写
auto-aof-rewrite-min-size 64mb
# aof文件可能在尾部是不完整的,当redis启动的时候,aof文件的数据被载入内存。重启可能发生在redis所在的主机操作系统宕机后,尤其在ext4文件系统没有加上data=ordered选项(redis宕机或者异常终止不会造成尾部不完整现象。)出现这种现象,可以选择让redis退出,或者导入尽可能多的数据。如果选择的是yes,当截断的aof文件被导入的时候,会自动发布一个log给客户端然后load。如果是no,用户必须手动redis-check-aof修复AOF文件才可以。
aof-load-truncated yes

###############clients#####################

# 设置能连上redis的最大客户端连接数量。默认是10000个客户端连接。由于redis不区分连接是客户端连接还是内部打开文件或者和slave连接等,所以maxclients最小建议设置到32。如果超过了maxclients,redis会给新的连接发送’max number of clients reached’,并关闭连接。
maxclients 10000
# redis配置的最大内存容量。当内存满了,需要配合maxmemory-policy策略进行处理。注意slave的输出缓冲区是不计算在maxmemory内的。所以为了防止主机内存使用完,建议设置的maxmemory需要更小一些。
maxmemory <bytes>
# 内存容量超过maxmemory后的处理策略。
# volatile-lru:利用LRU算法移除设置过过期时间的key。
# volatile-random:随机移除设置过过期时间的key。
# volatile-ttl:移除即将过期的key,根据最近过期时间来删除(辅以TTL)
# allkeys-lru:利用LRU算法移除任何key。
# allkeys-random:随机移除任何key。
# noeviction:不移除任何key,只是返回一个写错误。
# 上面的这些驱逐策略,如果redis没有合适的key驱逐,对于写命令,还是会返回错误。redis将不再接收写请求,只接收get请求。
maxmemory-policy noeviction
# lru检测的样本数。使用lru或者ttl淘汰算法,从需要淘汰的列表中随机选择sample个key,选出闲置时间最长的key移除。
maxmemory-samples 5
# 如果达到最大时间限制(毫秒),redis会记个log,然后返回error。当一个脚本超过了最大时限。只有SCRIPT KILL和SHUTDOWN NOSAVE可以用。第一个可以杀没有调write命令的东西。要是已经调用了write,只能用第二个命令杀。
lua-time-limit 5000

#######################REDIS CLUSTER#############
# 集群开关,默认是不开启集群模式。
cluster-enabled yes
# 集群配置文件的名称,每个节点都有一个集群相关的配置文件,持久化保存集群的信息。这个文件并不需要手动配置,这个配置文件有Redis生成并更新,每个Redis集群节点需要一个单独的配置文件,请确保与实例运行的系统中配置文件名称不冲突
# cluster-config-file nodes-a.conf
# 节点互连超时的阀值。集群节点超时毫秒数
# cluster-node-timeout 15000
# 在进行故障转移的时候,全部slave都会请求申请为master,但是有些slave可能与master断开连接一段时间了,导致数据过于陈旧,这样的slave不应该被提升为master。该参数就是用来判断slave节点与master断线的时间是否过长。判断方法是:
# 比较slave断开连接的时间和(node-timeout * slave-validity-factor) +repl-ping-slave-period
# 如果节点超时时间为三十秒, 并且slave-validity-factor为10,假设默认的repl-ping-slave-period是10秒,即如果超过310秒slave将不会尝试进行故障转移
cluster-slave-validity-factor 10
# master的slave数量大于该值,slave才能迁移到其他孤立master上,如这个参数若被设为2,那么只有当一个主节点拥有2 个可工作的从节点时,它的一个从节点会尝试迁移。
cluster-migration-barrier 1
# 默认情况下,集群全部的slot有节点负责,集群状态才为ok,才能提供服务。设置为no,可以在slot没有全部分配的时候提供服务。不建议打开该配置,这样会造成分区的时候,小分区的master一直在接受写请求,而造成很长时间数据不一致。
cluster-require-full-coverage yes

########################SLOW LOG###############
# slog log是用来记录redis运行中执行比较慢的命令耗时。当命令的执行超过了指定时间,就记录在slow log中,slog log保存在内存中,所以没有IO操作。
# 执行时间比slowlog-log-slower-than大的请求记录到slowlog里面,单位是微秒,所以1000000就是1秒。注意,负数时间会禁用慢查询日志,而0则会强制记录所有命令。
slowlog-log-slower-than 10000
# 慢查询日志长度。当一个新的命令被写进日志的时候,最老的那个记录会被删掉。这个长度没有限制。只要有足够的内存就行。你可以通过 SLOWLOG RESET 来释放内存。
slowlog-max-len 128
# 延迟监控功能是用来监控redis中执行比较缓慢的一些操作,用LATENCY打印redis实例在跑命令时的耗时图表。只记录大于等于下边设置的值的操作。0的话,就是关闭监视。默认延迟监控功能是关闭的,如果你需要打开,也可以通过CONFIG SET命令动态设置
latency-monitor-threshold 0

###################EVENT NOTIFICATION###############
# 键空间通知使得客户端可以通过订阅频道或模式,来接收那些以某种方式改动了 Redis 数据集的事件。因为开启键空间通知功能需要消耗一些 CPU ,所以在默认配置下,该功能处于关闭状态。
# notify-keyspace-events的参数可以是以下字符的任意组合,它指定了服务器该发送哪些类型的通知:
##K 键空间通知,所有通知以 __keyspace@__ 为前缀
##E 键事件通知,所有通知以 __keyevent@__ 为前缀
##g DEL 、 EXPIRE 、 RENAME 等类型无关的通用命令的通知
##$ 字符串命令的通知
##l 列表命令的通知
##s 集合命令的通知
##h 哈希命令的通知
##z 有序集合命令的通知
##x 过期事件:每当有过期键被删除时发送
##e 驱逐(evict)事件:每当有键因为 maxmemory 政策而被删除时发送
##A 参数 g$lshzxe 的别名
# 输入的参数中至少要有一个 K 或者 E,否则的话,不管其余的参数是什么,都不会有任何 通知被分发。
notify-keyspace-events ""

##################ADVANCED CONFIG##############
# 数据量小于等于hash-max-ziplist-entries的用ziplist,大于hash-max-ziplist-entries用hash
hash-max-ziplist-entries 512
# value大小小于等于hash-max-ziplist-value的用ziplist,大于hash-max-ziplist-value用hash
hash-max-ziplist-value 64
# -5:最大大小:64 KB<--不建议用于正常工作负载
# -4:最大大小:32 KB<--不推荐
# -3:最大大小:16 KB<--可能不推荐
# -2:最大大小:8kb<--良好
# -1:最大大小:4kb<--良好
list-max-ziplist-size -2
# 0:禁用所有列表压缩
# 1:深度1表示“在列表中的1个节点之后才开始压缩,
# 从头部或尾部
# 所以:【head】->node->node->…->node->【tail】
# [头部],[尾部]将始终未压缩;内部节点将压缩。
# 2:[头部]->[下一步]->节点->节点->…->节点->[上一步]->[尾部]
# 2这里的意思是:不要压缩头部或头部->下一个或尾部->上一个或尾部,
# 但是压缩它们之间的所有节点。
# 3:[头部]->[下一步]->[下一步]->节点->节点->…->节点->[上一步]->[上一步]->[尾部]
list-compress-depth 0
# 数据量小于等于set-max-intset-entries用iniset,大于set-max-intset-entries用set
set-max-intset-entries 512
# 数据量小于等于zset-max-ziplist-entries用ziplist,大于zset-max-ziplist-entries用zset
zset-max-ziplist-entries 128
# value大小小于等于zset-max-ziplist-value用ziplist,大于zset-max-ziplist-value用zset
zset-max-ziplist-value 64
# value大小小于等于hll-sparse-max-bytes使用稀疏数据结构(sparse),大于hll-sparse-max-bytes使用稠密的数据结构(dense)。一个比16000大的value是几乎没用的,建议的value大概为3000。如果对CPU要求不高,对空间要求较高的,建议设置到10000左右
hll-sparse-max-bytes 3000
# 宏观节点的最大流/项目的大小。在流数据结构是一个基数
# 树节点编码在这项大的多。利用这个配置它是如何可能#大节点配置是单字节和
# 最大项目数,这可能包含了在切换到新节点的时候
# appending新的流条目。如果任何以下设置来设置
# ignored极限是零,例如,操作系统,它有可能只是一集通过设置限制最大#纪录到最大字节0和最大输入到所需的值
stream-node-max-bytes 4096
stream-node-max-entries 100
# Redis将在每100毫秒时使用1毫秒的CPU时间来对redis的hash表进行重新hash,可以降低内存的使用。当你的使用场景中,有非常严格的实时性需要,不能够接受Redis时不时的对请求有2毫秒的延迟的话,把这项配置为no。如果没有这么严格的实时性要求,可以设置为yes,以便能够尽可能快的释放内存
activerehashing yes
# 对客户端输出缓冲进行限制可以强迫那些不从服务器读取数据的客户端断开连接,用来强制关闭传输缓慢的客户端。
# 对于normal client,第一个0表示取消hardlimit,第二个0和第三个0表示取消soft limit,normal client默认取消限制,因为如果没有寻问,他们是不会接收数据
client-output-buffer-limit normal 0 0 0
# 对于slave client和MONITERclient,如果client-output-buffer一旦超过256mb,又或者超过64mb持续60秒,那么服务器就会立即断开客户端连接
client-output-buffer-limit replica 256mb 64mb 60
# 对于pubsub client,如果client-output-buffer一旦超过32mb,又或者超过8mb持续60秒,那么服务器就会立即断开客户端连接
client-output-buffer-limit pubsub 32mb 8mb 60
# 这是客户端查询的缓存极限值大小
client-query-buffer-limit 1gb
# 在redis协议中,批量请求,即表示单个字符串,通常限制为512MB。但是您可以更改此限制。
# proto-max-bulk-len 512mb
# redis执行任务的频率为1s除以hz
hz 10
# 当启用动态赫兹时,实际配置的赫兹将用作作为基线,但实际配置的赫兹值的倍数
# 在连接更多客户端后根据需要使用。这样一个闲置的实例将占用很少的CPU时间,而繁忙的实例将反应更灵敏
dynamic-hz yes
# 在aof重写的时候,如果打开了aof-rewrite-incremental-fsync开关,系统会每32MB执行一次fsync。这对于把文件写入磁盘是有帮助的,可以避免过大的延迟峰值
aof-rewrite-incremental-fsync yes
# 在rdb保存的时候,如果打开了rdb-save-incremental-fsync开关,系统会每32MB执行一次fsync。这对于把文件写入磁盘是有帮助的,可以避免过大的延迟峰值
rdb-save-incremental-fsync yes

###################### ACTIVE DEFRAGMENTATION #####################

# 已启用活动碎片整理
# activedefrag yes
# 启动活动碎片整理的最小碎片浪费量
# active-defrag-ignore-bytes 100mb
# 启动活动碎片整理的最小碎片百分比
# active-defrag-threshold-lower 10
# 我们使用最大努力的最大碎片百分比
# active-defrag-threshold-upper 100
# 以CPU百分比表示的碎片整理的最小工作量
# active-defrag-cycle-min 5
# 在CPU的百分比最大的努力和碎片整理
# active-defrag-cycle-max 75
# 将从中处理的set/hash/zset/list字段的最大数目
# 主词典扫描
# active-defrag-max-scan-fields 1000

4.redis 工具

src 中生成了以下redis 工具

  • redis-server :主服务工具
  • redis-cli :命令行客户端
  • redis-benchmark :性能测试工具
  • redis-check-aof :AOF 文件修复工具
  • redis-check-rdb:rdb 文件修复工具
  • redis-sentinal :集群管理工具
  • redis.conf:配置文件

5.连接redis

使用客户端工具redis-cli

[root@localhost src]# ./redis-cli -h
redis-cli 5.0.7

Usage: redis-cli [OPTIONS] [cmd [arg [arg ...]]]
  -h <hostname>      Server hostname (default: 127.0.0.1).
  -p <port>          Server port (default: 6379).
  -s <socket>        Server socket (overrides hostname and port).
  -a <password>      Password to use when connecting to the server.
                     You can also use the REDISCLI_AUTH environment
                     variable to pass this password more safely
                     (if both are used, this argument takes predecence).
  -u <uri>           Server URI.
  -r <repeat>        Execute specified command N times.
  -i <interval>      When -r is used, waits <interval> seconds per command.
                     It is possible to specify sub-second times like -i 0.1.
  -n <db>            Database number.
  -x                 Read last argument from STDIN.
  -d <delimiter>     Multi-bulk delimiter in for raw formatting (default: \n).
  -c                 Enable cluster mode (follow -ASK and -MOVED redirections).
  --raw              Use raw formatting for replies (default when STDOUT is
                     not a tty).
  --no-raw           Force formatted output even when STDOUT is not a tty.
  --csv              Output in CSV format.
  --stat             Print rolling stats about server: mem, clients, ...
  --latency          Enter a special mode continuously sampling latency.
                     If you use this mode in an interactive session it runs
                     forever displaying real-time stats. Otherwise if --raw or
                     --csv is specified, or if you redirect the output to a non
                     TTY, it samples the latency for 1 second (you can use
                     -i to change the interval), then produces a single output
                     and exits.
  --latency-history  Like --latency but tracking latency changes over time.
                     Default time interval is 15 sec. Change it using -i.
  --latency-dist     Shows latency as a spectrum, requires xterm 256 colors.
                     Default time interval is 1 sec. Change it using -i.
  --lru-test <keys>  Simulate a cache workload with an 80-20 distribution.
  --replica          Simulate a replica showing commands received from the master.
  --rdb <filename>   Transfer an RDB dump from remote server to local file.
  --pipe             Transfer raw Redis protocol from stdin to server.
  --pipe-timeout <n> In --pipe mode, abort with error if after sending all data.
                     no reply is received within <n> seconds.
                     Default timeout: 30. Use 0 to wait forever.
  --bigkeys          Sample Redis keys looking for keys with many elements (complexity).
  --memkeys          Sample Redis keys looking for keys consuming a lot of memory.
  --memkeys-samples <n> Sample Redis keys looking for keys consuming a lot of memory.
                     And define number of key elements to sample
  --hotkeys          Sample Redis keys looking for hot keys.
                     only works when maxmemory-policy is *lfu.
  --scan             List all keys using the SCAN command.
  --pattern <pat>    Useful with --scan to specify a SCAN pattern.
  --intrinsic-latency <sec> Run a test to measure intrinsic system latency.
                     The test will run for the specified amount of seconds.
  --eval <file>      Send an EVAL command using the Lua script at <file>.
  --ldb              Used with --eval enable the Redis Lua debugger.
  --ldb-sync-mode    Like --ldb but uses the synchronous Lua debugger, in
                     this mode the server is blocked and script changes are
                     not rolled back from the server memory.
  --cluster <command> [args...] [opts...]
                     Cluster Manager command and arguments (see below).
  --verbose          Verbose mode.
  --no-auth-warning  Don't show warning message when using password on command
                     line interface.
  --help             Output this help and exit.
  --version          Output version and exit.

[root@localhost src]# ./redis-cli
127.0.0.1:6379> 

6.关闭redis

强行关闭redis 可能会导致数据丢失,应该使用客户端工具关闭redis

[root@localhost src]# ./redis-cli shutdown

文章作者: 文彦
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 文彦 !
评论
  目录