tencent cloud

腾讯云分布式缓存数据库(兼容 Redis)

动态与公告
产品动态
公告
新手指引
产品简介
产品概述
产品优势
应用场景
存储引擎
产品系列
产品版本
规格与性能
读写分离
多可用区部署
地域和可用区
名词解释
购买指南
计费概述
定价中心
购买实例
续费说明(包年包月)
退费说明(包年包月)
欠费说明
按量转包年包月
快速入门
快速创建实例
连接实例(Redis/Valkey 版)
操作指南
操作总览
连接数据库实例
管理实例
升级实例
管理节点(Redis/ValKey 版)
管理多可用区
备份与恢复
账号管理
参数配置
慢查询
访问管理
网络与安全
监控与告警
事件管理(Redis/ValKey 版)
数据迁移
Redis 版全球复制
数据库审计
诊断优化
Sentinel 模式
开发准则
命名规则
基本使用准则
Key 与 Value 设计原则
命令使用准则
客户端程序设计准则
连接池配置
命令参考
命令参考概览
Redis 版与 Valkey 版命令兼容性
大版本命令使用差异
Proxy 架构与直连模式的使用差异
命令更多操作(Redis/Valkey 版)
Memcached 版命令兼容性
实践教程
基于 Spring Boot 搭建 Redis 客户端监控
Redis 客户端连接配置策略与实践
集群架构全局 SCAN 使用指南
实例安全下线
热 Key 与 大 key
可用区迁移方案
故障处理
连接异常
Redisson 客户端超时重连异常分析及解决方案
性能排查与调优
API 文档
History
Introduction
API Category
Making API Requests
Instance APIs
Parameter Management APIs
Other APIs
Backup and Restoration APIs
Region APIs
Monitoring and Management APIs
Log APIs
Data Types
Error Codes
常见问题
使用常见问题
连接登录问题
购买相关问题
相关协议
服务等级协议
Terms of Service
词汇表
联系我们

基本使用准则

PDF
聚焦模式
字号
最后更新时间: 2024-11-05 09:39:24

缓存定位准则

Redis 仅作为缓存使用。因为 Redis 本身的特性,其所有数据都存储在内存中,所以访问速度快。但如果作为持久化数据库存储数据,由于内存在断电后无法持久化保存数据的原因,有可能会导致数据丢失。

不唯一数据源准则

因为 Redis 是作为缓存使用,所以有一定的几率会命中数据失败,所以不能作为唯一的数据来源使用;在调用 Redis 发生异常后,需要查询后台数据库。

Key 淘汰准则

根据自身业务类型,设置合适的最大内存淘汰策略 maxmemory-policy。默认策略是 noeviction,即不删除键。在内存占满后会出现 OOM 问题,所以建议创建好实例后修改淘汰策略,减少 OOM 问题的出现。

可配置的内存淘汰策略

设置 Redis 内存缓存满后,数据的淘汰策略 maxmemory-policy,可在如下策略中进行选择。其中,LRU(Least Recently Used)表示最近最少使用;TTL(Time To Live)表示设置过期时间。LRU、TTL 通过近似随机算法实现。
allkeys-lru:根据 LRU 算法删除键,不管数据是否设置超时属性,直到腾出足够空间为止。
allkeys-random:随机删除所有键,直到腾出足够空间为止。
volatile-lru:根据 LRU 算法删除过期键,直到腾出足够空间为止。
volatile-random:随机删除过期键,直到腾出足够空间为止。
volatile-ttl:根据键值对象的 TTL 属性,删除最近将要过期数据。如果没有,回退到 noeviction 策略。
noeviction:不会剔除任何数据,拒绝所有写入操作并返回客户端错误信息"(error) OOM command not allowed whenused memory",此时 Redis 只响应读操作。

 内存淘汰策略建议

当 Redis 作为缓存使用的时候,推荐使用 allkeys-lru 淘汰策略。该策略会将使用频率最低的 Key 淘汰。默认情况下,使用频率最低则后期命中的概率也最低,所以将其淘汰。
当 Redis 作为半缓存半持久化使用时,可以使用 volatile-lru。但因为 Redis 本身不建议保存持久化数据,所以只作为备选方案。

 




帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈