关于redis配置级别的文章

由于这个是redis上的软件。这篇文章,主题就在于key的配置。我们知道,redis存储数据都是一颗一颗的kv,kv、。只不过v有不同的数据类型的结构。我们这里针对单机redis去进行配置。

1.redis的key需要配置的概念有哪些

  1. Redis Key 需要配置的核心概念
    1.1 持久化机制(Persistence)
    控制数据如何从内存保存到磁盘,保证数据不丢失:

RDB(快照):在指定时间间隔内生成数据集的时间点快照
AOF(追加文件):记录每个写操作,服务器重启时重新执行这些命令来恢复数据

1.2 Key 过期机制(Expiration)
设置 key 的生存时间:

可以为每个 key 设置过期时间(TTL)
过期时间可以是秒级或毫秒级
相关命令:EXPIRE、EXPIREAT、TTL、PTTL

1.3 Key 过期删除策略(Expiration Policy)
Redis 如何删除已过期的 key:

惰性删除(Lazy):访问 key 时检查是否过期
定期删除(Active):定时随机抽取一些 key 检查并删除过期的

1.4 内存淘汰策略(Eviction Policy)
当内存不足时,Redis 如何选择删除哪些 key:

noeviction:不淘汰,写入返回错误
allkeys-lru:从所有 key 中使用 LRU 算法淘汰
allkeys-lfu:从所有 key 中使用 LFU 算法淘汰
volatile-lru:从设置了过期时间的 key 中使用 LRU 淘汰
volatile-lfu:从设置了过期时间的 key 中使用 LFU 淘汰
allkeys-random:从所有 key 中随机淘汰
volatile-random:从设置了过期时间的 key 中随机淘汰
volatile-ttl:优先淘汰剩余 TTL 最短的 key

2.redis去哪里配置这些概念

2.1 redis.conf 配置文件
这是主要的配置方式,适合永久性配置:
持久化配置:
conf# RDB 配置
save 900 1 # 900秒内至少1个key变化就保存
save 300 10 # 300秒内至少10个key变化就保存
save 60 10000 # 60秒内至少10000个key变化就保存
dbfilename dump.rdb # RDB文件名
dir ./ # 持久化文件保存目录

AOF 配置

appendonly yes # 开启AOF
appendfilename “appendonly.aof” # AOF文件名
appendfsync everysec # 同步策略:always/everysec/no
过期删除策略配置:
conf# 定期删除的频率(Hz)
hz 10

每次定期删除任务的最大执行时长(毫秒)

这影响过期key的删除速度

activerehashing yes
内存淘汰策略配置:
conf# 最大内存限制
maxmemory 2gb

内存淘汰策略

maxmemory-policy allkeys-lru

LRU/LFU 算法的样本数量

maxmemory-samples 5
2.2 CONFIG 命令动态配置
适合临时调整,无需重启 Redis:
bash# 查看当前配置
CONFIG GET maxmemory-policy

设置配置(重启后失效)

CONFIG SET maxmemory-policy allkeys-lfu
CONFIG SET maxmemory 4gb

将当前配置写入 redis.conf(持久化配置)

CONFIG REWRITE
2.3 启动参数
在启动 Redis 时通过命令行参数指定:
bashredis-server --maxmemory 2gb --maxmemory-policy allkeys-lru
2.4 应用层面的配置
通过客户端命令为单个 key 设置过期时间:
bashSET mykey “value”
EXPIRE mykey 3600 # 设置3600秒后过期
SETEX mykey 3600 “value” # 设置值的同时设置过期时间
3. 配置建议
单机 Redis 的典型配置:
conf# 内存管理
maxmemory 2gb
maxmemory-policy allkeys-lru
maxmemory-samples 5

持久化(根据需求选择)

方案1:只用RDB(性能好,但可能丢失数据)

save 900 1
save 300 10
save 60 10000

方案2:RDB + AOF(数据更安全)

save 900 1
appendonly yes
appendfsync everysec

过期处理

hz 10

其他

dir /var/lib/redis/
dbfilename dump.rdb

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值