美文网首页web后台开发
web开发常用 redis, ssdb 缓存处理

web开发常用 redis, ssdb 缓存处理

作者: 宝宝家的隔壁老王 | 来源:发表于2017-10-19 00:30 被阅读33次

web 开发中为了增加接口的响应速度或者业务逻辑的处理速度,会对写使用频率比较高,或者对实时性要求比较高的数据做缓存

1、mysql 的使用
  • mysql 使用查询语句获取数据时,应秉持尽量少的查询次数,将查询参数尽量拼接的原则。
    • 如用户表,在已知多个用户id,查询其某些属性时,应使用and语句一次性将多个用户的属性查出,而非对用户进行单个属性的查询
2、需要使用缓存的数据具有以下特征
  • 基础服务数据
    • 比如证券行业使用的股票行情数据,需要频繁为其他业务提供服务。
  • 独立数据
    • 比如官网首页数据,和用户或账号无关的数据,并且访问频率比较高的数据。
  • 冷数据
    • 此部分数据更新频率较低或不更新
3、缓存的时机
  • 项目启动时缓存
    • 自活能力::如果使用缓存,则需要缓存很强的自活能力,比如项目运行时发现缓存丢失,可以自行初始缓存,以保证项目的正常运行。
    • 异步缓存: 项目启动不宜耗时太久,如果项目启动时的缓存数据过多,则建议将数据内容进行分类,在项目启动时将独立的数据进行异步初始化缓存处理。
    • 缓存日志: 缓存完成时将缓存结果输出到日志中,以便获取项目启动时的缓存进度和结果。
  • 定时缓存
    • 满足业务需求:根据数据的实时性和有效性,对数据进行定时缓存(注意对服务器资源的占用处理,尽量优化处理部分的代码)。
    • 保证数据的准确性:需要及时清理或覆盖历史缓存数据。
  • 事件触发缓存
    • 具体逻辑具体分析
  • 手动调用缓存
3、redis & ssdb 的选择
  • 允许丢失且读取频率较高的数据使用 redis
  • 需要持久化的数据 ssdb
4、redis & ssdb 的使用
  • 数据结构的设计
    • 不建议将包含迭代的数组或字典转换为json串作为value值进行存储。value在读取频率不高的情况下,建议最大单位为 2 层字典或数组嵌套的json串。
  • key-value
    • 存储简单数据类型,或访问频率以及数据量都很小的复杂数据类型
  • hash-map
    • 存储数据量比较多,读写频率比较高的数据
  • set
    • 集合数据,多涉及到业务数据
  • zset
    • 支持排序的集合,多涉及到具体业务

相关文章

  • web开发常用 redis, ssdb 缓存处理

    web 开发中为了增加接口的响应速度或者业务逻辑的处理速度,会对写使用频率比较高,或者对实时性要求比较高的数据做缓...

  • 限流算法介绍

    高并发的处理有三个比较常用的手段,缓存,限流和降级。缓存的使用相信很多开发者都很了解了,诸如redis,memca...

  • Spring Boot学习笔记5(Redis)

    五、Redis 开发中常用的缓存中间件: resdis、memcached、chcacheSpring Boot默...

  • nodejs使用内存数据库redis

    redis简单介绍 redis = 内存数据库web server 最常用的缓存数据库,数据存放在内存中优点是速度...

  • 2019-09-03, beego代码走读,四、Cache缓存

    Cache是一个非常常用的模块,在beego中提供了Redis/MemCached/SSDB/File/Memor...

  • Guava Cache做本地缓存那些事

    一.概述 缓存是Web开发中不可或缺的一个重要工具。说起缓存大家想到更多的是redis、memcached等key...

  • iOS | SDWebImage

    SDWebImage是开发者最常用的处理图片的一个第三方工具,它主要的功能包括: 添加了Web图片加载和缓存管理的...

  • Spring Boot集成ehcache缓存

    Spring Boot的cache支持多种缓存,参考缓存支持,其中常用的有EhCache和Redis,Redis需...

  • Web 缓存

    Web 缓存的作用与类型 数据库缓存memcached redis 服务端缓存代理服务器缓存squidCDN缓存(...

  • java中常用的几种缓存类型介绍

    在平时的开发中会经常用到缓存,比如locache、redis等,但一直没有对缓存有过比较全面的总结。下面从什么是缓...

网友评论

    本文标题:web开发常用 redis, ssdb 缓存处理

    本文链接:https://www.haomeiwen.com/subject/dhuyuxtx.html