缓存使用规范

缓存使用规范

jimDb

参考资料
JIMDB最佳实践

  1. 【强制】防止缓存穿透风险,对于不存在值需要在缓存中写入空值进行占位,并设置过期时间,或使用布隆过滤器前置过滤。
  2. 【强制】涉及到交易流程的核心系统缓存必须双机房热备。
  3. 【强制】确保各平台缓存独立,避免相互影响。
  4. 【推荐】缓存变更策略,先删除redis再更新数据库。先淘汰缓存,保证数据的真实性。
  5. 【强制】缓存存储不能使用二进制序列化方式
  6. 【推荐】不要求数据强一致的用户,可启用客户端本地缓存。
  7. 【推荐】一次业务调用需要访问多次redis服务端,导致OPS/QPS成倍增长,应尽量避免,采用pipleline或其它批量操作方式。
  8. 【强制】PipelineClient是非线程安全的,不同线程需要通过client.pipelineClient()构造不同的实例进行相关操作。使用完毕之后,一定要确保会调用close释放链接。
  9. 【推荐】大List,Set,Hash,存储的数量巨大。获得大量元素时延迟较大阻塞其他命令.建议切割成多个小的list,set,hash
  10. 【推荐】大String,value大于20K,ops10000,流量会达到200M,很容易打满服务端带宽配额,阻塞其他命令执行,建议value尽量较小。
  11. 【推荐】一段时间仅访问少量的几个分片,客户端会不停的新建,销毁连接。建议调整连接池配置,增大最大空闲连接数,空闲连接存活时长。
  12. 【推荐】 推荐使用Guava@SerializedName注解或者FastJSON@JSONField注解将序列化后的KEY 变短,减少缓存容量。 具体如何使用见这里

本地缓存

1.【强制】缓存容量控制,使用(如guava,ehcache)必须设置缓存容量上限

 

转载于:https://my.oschina.net/ttscjr/blog/2993366

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值