环境:ubuntu系统
登录系统后查看系统对应的版本:
lsb_release -a # 查看系统的版本信息
# 输入命令后返回显示的内容:
Distributor ID: Ubuntu
Description: Ubuntu 22.04 LTS #长期稳定版
Release: 22.04 # 具体版本信息
查看系统是否已经安装了redis:
which redis-server #查看redis的安装命令
/usr/bin/redis-server # 有结果返回说明已经安装了redis
或是使用如下命令:
type redis-server #
redis-server is /usr/bin/redis-server # 返回这种内容说明已经安装了redis
注意:
如果你是通过 apt
包管理器安装的 Redis,可以使用 dpkg
命令来查找详细信息。
dpkg -L redis-server #这个命令会返回好多信息
Redis 的配置文件通常位于 /etc/redis
目录下。你可以查看 Redis 服务的配置文件来获得更多信息。
ls /etc/redis
查看redis是否启动着:
ps aux | grep redis #查看命令
redis 258790 0.1 0.5 77456 10436 ? Ssl Jun12 2:24 /usr/bin/redis-server 0.0.0.0:6379
ubuntu 960476 0.0 0.1 6480 2328 pts/0 S+ 09:53 0:00 grep --color=auto redis
以上结果说明redis正在使用6379端口启动着
或是使用另外一种命令:
sudo systemctl status redis
如果不是使用apt的方式安装redis,可以使用gz的形式进行安装则,各种redis的下载版本的地址如下,请各取所需:
http://download.redis.io/releases/
下载好对应的gz包之后,使用如下命令:
tar zxvf redis-对应版本.tar.gz
解压后进入对应的解压目录后进行 make 进行编译后进入到 src目录就会有相关的启动等命令
当我们需要将不是代码行的注释去掉时可以使用如下命令:
cat redis.conf |grep -v "#" |grep -v "^$" > redis-conf/redis.conf
其中:grep -v "^$"是忽略掉空白行,grep -v "#" 忽略注释
cat redis.conf |grep -v "#" |grep -v "^$" > redis-conf/redis.conf
就可以复制一个简单的简易文件出来了
redis的启动命令:
如果你是通过 apt
包管理器安装的 Redis可以直接使用如下命令:
redis-server redis.conf
具体参数可以在后边进行配置,当然最好的是在配置文件中进行配置
redis停止服务命令:
方法一:
如果你是通过 apt
包管理器安装的 Redis,可以使用 systemctl
命令来管理 Redis 服务。
sudo systemctl stop redis
方法二:
redis-cli -p 6380 shutdown ## -p 表示是要关闭的对应端口的redis
方法三:
找到对应的redis服务的进程号,使用如下命令:
sudo kill <PID>
以下是redis中有些参数的配置:(这些事通过翻译实现,并不保证解释完全正确)
配置文件中各个参数的解释:
port 6380
Redis 服务监听的端口号,这里设置为 6380。
tcp-backlog 511
TCP 连接的 backlog 队列大小。
timeout 0
客户端连接的超时时间(秒)。0 表示不超时。
tcp-keepalive 300
TCP 保持连接的探测时间间隔(秒)。
daemonize yes
是否以守护进程方式运行,yes 表示以守护进程方式运行 Redis。
supervised no
是否在某个进程管理工具(比如 systemd、upstart)下运行。
pidfile /var/run/redis/redis-server_6380.pid
Redis 进程的 PID 文件路径。
loglevel notice
日志记录的级别,可以是 debug、verbose、warning。
logfile /var/log/redis/redis-server_6380.log
日志文件路径。
databases 16
数据库数量,默认是 16。
always-show-logo yes
总是在日志中显示 Redis 的 ASCII logo。
stop-writes-on-bgsave-error yes
如果后台保存时出错,是否停止写操作。
rdbcompression yes
在 RDB 文件中是否启用数据压缩。
rdbchecksum yes
在 RDB 文件中是否启用校验和。
dbfilename dump_6380.rdb
RDB 文件的名称。
rdb-del-sync-files no
RDB 文件同步后是否删除旧的 RDB 文件。
dir /var/lib/redis
数据文件的目录。
slaveof 127.0.0.1 6379
指定当前 Redis 实例作为 127.0.0.1:6379 的从节点(Slave)。
replica-serve-stale-data yes
当从节点与主节点连接断开时,是否提供过期数据服务。
replica-read-only yes
从节点是否只读,防止数据被意外修改。
repl-diskless-sync no
是否启用无盘全同步。
repl-diskless-sync-delay 5
无盘全同步的延迟时间(秒)。
repl-diskless-load disabled
是否从无盘数据加载,选项有:disabled、on-empty-db、tolerate-errors。
repl-disable-tcp-nodelay no
是否禁用 repl 的 TCP_NODELAY 特性。
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
是否启用用户键的惰性删除策略。
oom-score-adj no
是否调整 Redis 进程的 OOM(内存不足)分数。
oom-score-adj-values 0 200 800
不同条件下的 OOM 分值配置。
appendonly yes
是否启用Append Only File(AOF)持久化模式。
appendfilename "appendonly_6380.aof"
AOF 文件的名称。
appendfsync everysec
AOF 文件的同步策略,每秒同步一次。
no-appendfsync-on-rewrite no
AOF 重写进行时是否禁用 fsync。
auto-aof-rewrite-percentage 100
当 AOF 文件增长到当前大小的百分比时,触发重写。
auto-aof-rewrite-min-size 64mb
触发 AOF 重写所需的最小文件大小。
aof-load-truncated yes
是否在加载时修复被截断的 AOF 文件。
aof-use-rdb-preamble yes
是否在 AOF 文件前使用 RDB 格式。
lua-time-limit 5000
Lua 脚本执行最大时间(毫秒)。
slowlog-log-slower-than 10000
记录慢查询的阈值(微秒)。
slowlog-max-len 128
慢查询日志的最大长度。
latency-monitor-threshold 0
延迟监视器的阈值(微秒),0 表示关闭。
notify-keyspace-events ""
键空间通知设置,空表示关闭。
hash-max-ziplist-entries 512
Hash 数据类型的 ziplist 编码最大条目数。
hash-max-ziplist-value 64
Hash 数据类型的 ziplist 编码最大值长度。
list-max-ziplist-size -2
List 数据类型的 ziplist 编码最大长度。
list-compress-depth 0
List 数据类型的 ziplist 编码压缩深度。
set-max-intset-entries 512
Set 数据类型使用 intset 编码的最大条目数。
zset-max--entries 128
Zset 数据类型的 ziplist 编码最大条目数。
zset-max-ziplist-value 64
Zset 数据类型的 ziplist 编码最大值长度。
hll-sparse-max-bytes 3000
HyperLogLog 数据类型的稀疏编码最大字节数。
stream-node-max-bytes 4096
Stream 数据类型的节点最大字节数。
stream-node-max-entries 100
Stream 数据类型的节点最大条目数。
activerehashing yes
是否启用主动 rehash。
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
Redis 主循环的每秒运行次数。
dynamic-hz yes
是否启用动态 hz 调整。
aof-rewrite-incremental yes
AOF 重写过程中是否启用增量 fsync。
rdb-save-incremental-fsync yes
RDB 保存过程中是否启用增量 fsync。
jemalloc-bg-thread yes
是否后台线程进行内存清理。