常用命令、常见错误、配置技巧等分享

本文详细介绍了Redis的各种配置选项,包括Redis的运行模式、持久化策略、客户端超时设置、日志记录、主从复制、AOF持久化、慢查询日志以及命令通知等,旨在帮助读者理解和优化Redis的配置,提升系统的稳定性和性能。
摘要由CSDN通过智能技术生成
  1. redis查看当前所有的key

复制代码代码如下:

KEYS *

  1. 查看当前redis的配置信息
    复制代码代码如下:

CONFIG GET *

  1. MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.
    强制停止redis快照导致,redis运行用户没有权限写rdb文件或者磁盘空间满了,解决办法:
    复制代码代码如下:

config set stop-writes-on-bgsave-error no

例如:
复制代码代码如下:

set ‘name’ ‘shenhui’
-MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled.https://blog.csdn.net/weixin_48921527 Please check Redis logs for details about the error.
config set stop-writes-on-bgsave-error no
+OK
set ‘name’ ‘shenhui’
+OK

  1. redis 127.0.0.1:6379> CONFIG SET logfile “/var/log/redis/redis-server.log”
    (error) ERR Unsupported CONFIG parameter: logfile
    logfile 不能通过set动态设置

5.(error) OOM command not allowed when used memory >
设置了maxmemory的选项,redis内存使用达到上限。
可以通过设置LRU算法来删除部分key,释放空间。
默认是按照过期时间的,如果set时候没有加上过期时间就会导致数据写满maxmemory。
如果不设置maxmemory或者设置为0 64位系统不限制内存,32位系统最多使用3GB内存。

volatile-lru -> 根据LRU算法生成的过期时间来删除。
allkeys-lru -> 根据LRU算法删除任何key。
volatile-random -> 根据过期设置来随机删除key。
allkeys->random -> 无差别随机删。
volatile-ttl -> 根据最近过期时间来删除(辅以TTL)
noeviction -> 谁也不删,直接在写操作时返回错误。

  1. reids日志位置

logfile 日志记录方式,默认值为stdout,如果设置为stdout且以守护进程方式运行,那么日志会被重定向到/dev/null,也就是不记日志。

  1. reids配置参数详解

复制代码代码如下:

#daemonize no 默认情况下, redis 不是在后台运行的,如果需要在后台运行,把该项的值更改为 yes
daemonize yes

当 redis 在后台运行的时候, Redis 默认会把 pid 文件放在 /var/run/redis.pid ,你可以配置到其他地址。

当运行多个 redis 服务时,需要指定不同的 pid 文件和端口

pidfile /var/run/redis_6379.pid

指定 redis 运行的端口,默认是 6379

port 6379

在高并发的环境中,为避免慢客户端的连接问题,需要设置一个高速后台日志

tcp-backlog 511

指定 redis 只接收来自于该 IP 地址的请求,如果不进行设置,那么将处理所有请求

bind 192.168.1.100 10.0.0.1

bind 127.0.0.1

设置客户端连接时的超时时间,单位为秒。当客户端在这段时间内没有发出任何指令,那么关闭该连接

0 是关闭此设置

timeout 0

TCP keepalive

在 Linux 上,指定值(秒)用于发送 ACKs 的时间。注意关闭连接需要双倍的时间。默认为 0 。

tcp-keepalive 0

指定日志记录级别,生产环境推荐 notice

Redis 总共支持四个级别: debug 、 verbose 、 notice 、 warning ,默认为 verbose

debug 记录很多信息,用于开发和测试

varbose 有用的信息,不像 debug 会记录那么多

notice 普通的 verbose ,常用于生产环境

warning 只有非常重要或者严重的信息会记录到日志

loglevel notice

配置 log 文件地址

默认值为 stdout ,标准输出,若后台模式会输出到 /dev/null 。

logfile /var/log/redis/redis.log

可用数据库数

默认值为 16 ,默认数据库为 0 ,数据库范围在 0- ( database-1 )之间

databases 16
################################ 快照#################################

保存数据到磁盘,格式如下 :

save

指出在多长时间内,有多少次更新操作,就将数据同步到数据文件 rdb 。

相当于条件触发抓取快照,这个可以多个条件配合

比如默认配置文件中的设置,就设置了三个条件

save 900 1 900 秒内至少有 1 个 key 被改变

save 300 10 3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值