做个网站需要什么设备,跨境电商有哪些平台,做网站排名优化是怎么回事,长兴建设局网站前言 凡工具必带使用说明书#xff0c;如不合理的使用#xff0c;可能得到“意外收获”。这就好比每个人擅长的领域有所差异#xff0c;如果放错了位置或用错了人#xff0c;也一定会让 Leader 们陷入两难之地#xff1a;“上无法肩负领导之重托#xff0c;下难免失去伙伴…前言 凡工具必带使用说明书如不合理的使用可能得到“意外收获”。这就好比每个人擅长的领域有所差异如果放错了位置或用错了人也一定会让 Leader 们陷入两难之地“上无法肩负领导之重托下难免失去伙伴之信任”最终的结局大致是不欢而散。 通过前序系列文章博主对主流Cache工具或者系统做了基础总结旨在通过一文了解每个工具的特点和差异。 我们经常说理论联系实际如果只知理论不实践就和赵括一样未解敌情轻上阵只能兵败如山倒。为了合理使用Cache博主决定通过一文以实践为指导掌握正确使用缓存之钥。 微服务实战系列之MemCache微服务实战系列之EhCache微服务实战系列之Redis微服务实战系列之Cache微服务实战系列之Nginx技巧篇微服务实战系列之Nginx微服务实战系列之Feign微服务实战系列之Sentinel微服务实战系列之Token微服务实战系列之Nacos微服务实战系列之Gateway微服务实战系列之加密RSA微服务实战系列之签名Sign 通用 无论什么缓存工具或系统我们常见一般以Key-Value为核心定义缓存。 Q1如何设置Key
我们已经学习到缓存基本都是以Key-Value设置的那么如何正确的set key就非常关键。Key一般又以字符串string见长所以是不是可以“肆意而为”了 就像野马之于草原逍遥狂奔那自然不行容易乐极生悲此刻急需一个套马杆。 Key一般需体现业务含义一个是可读性一个是便于检索。
含义明确 可以定义具备业务特征的key比如center:order:id。长度适中 虽然我们可以自主定义key显然不宜太长太长自然消耗带宽和吞吐以致影响用户体验甚至宕机。所以建议不要超50个字符。特殊字符 尽量避免甚至拒绝使用特殊字符比如空格等等无意义的字符。
Q2如何设置Value
知道了如何设置key那自然还需掌握如何set value。value一般支持的类型较多比如字符串string集合比如list等。该如何合理设置Value呢 比如Redis官方限制不超512M那我们可以设置为512M吗如果想试探试探可以去play一下否则以满足性能要求为先。这里重点区分两种数据类型 如果是字符串类型单条建议不超10K 如果是集合类型子元素不超5000个 如果未按建议执行超过会怎么样比如服务带宽是10M单个value的大小是1M那么在有限的网络条件下QPS/TPS势必严重受损体验在哪里缓存的意义在哪里
Q3如何设置TTL
TTLTime To Live是key-value的过期时间。我们在设计缓存键值对的时候往往容易一概而论没有根据实际业务场景需要去设置。TTL设置太长缓存迟迟不更新除非强制setTTL设置太短缓存还没hit立即被clear了。如此无法体现缓存的意义和价值。所以合理的设置TTL非常重要。
阶梯性 通常我们设置TTL时需考虑时间分散有所阶梯化减少copy。比如T1太笼统了。数据有效期 贴近业务场景设置TTL会让缓存更有效能。任何数据均有一定的时间特性比如你的征信数据又比如企业的工商登记数据。 有效的TTL既能满足业务合理诉求又能充分利用缓存的高效如此才是正确的使用方式。 结语
虽然缓存工具基本也就几种而且各位盆友包括博主一上来就用Redis因为大家都认可。但是仔细分析几种工具的差异和相同点无非是在不同场景下形成的固定模式。君不见“缓存穿透、缓存击穿、缓存雪崩”三兄弟经常会出现在我们的工作中。所以如果要更好的使用缓存或者让缓存更上一层楼还需略微思考一二。
好了博主今天聊到这里GoodNight