欢迎加入,新群号码:99640845

在web开发的过程中缓存是必不可少的工具,无论是mamcache还是redis我想大家都很有所涉略。

我分享一下我个人在工作中的一些使用后的想法。

===========================================

缓冲应用设计:

对于缓存的使用我想大家应该都会使用,简单的key=》value 我就不多说什么了 ==  不会用的可以看下手册

缓存无外乎就是在应用于数据库之间建立一个中间的数据层来减少数据库的压力,这是最简单的设计方式 对于缓存中的数据可以

通过异步的方式进行持久化操作

然后,在实际应用的过程中,会有很多空值去缓存中查找这样的话会浪费大量资源,所以可以设计成这样:

在映射中如果找到key值说明存在value所以再去缓存中寻找数据 否则直接false 可以大大节省缓存的查找时间

在使用缓存的时候,冗灾也是也是一个很重要的事情,redis还好,可以数据持久化 如果是memcache的话就会很尴尬

如上,可以做到在应用中做到,当缓存服务器出现问题的时候,去数据库查询返回数据,而不会因为缓存丢失而导致应用整体挂掉。

同时触发缓存补偿机制,可以切换缓存服务器,并且重新建立缓存池。这样就可以在缓存服务器出现问题的时候,不影响线上应用。

至于数据的唯一性和数据的持久化问题,要根据具体的业务逻辑设计自己的,数据异步同步机制。

可以的话,可以把数据根据实效性拆分。时效性高的用实时队列任务,时效性稍低的数据可以阶段性同步。

我的想法大概就是这个样子。

php中redis memcache等缓存的应用相关推荐

  1. Redis集群——利用Gearman在Lnmp架构中做MySQL的缓存服务器

    一.概述 Redis的集群主要是使用切片技术来搭建的,简单来说就是把所有KEY分散存放到不同的redis节点上(不要把鸡蛋都放在一个篮子里). 1. 集群基本原理 Redis集群中内置了16384个槽 ...

  2. redis spring 切面缓存_今日份学习: Spring中使用AOP并实现redis缓存?

    笔记 在Spring中如何使用AOP? Spring是如何切换JDK动态代理和CGLIB的? spring.aop.proxy-target-class=true (在下方第二个链接中,原生doc中提 ...

  3. JAVA中创建的redis对象_详解Java在redis中进行对象的缓存

    java在redis中进行对象的缓存一般有两种方法,这里介绍序列化的方法,个人感觉比较方便,不需要转来转去. 一.首先,在存储的对象上实现序列化的接口 package com.cy.example.e ...

  4. docker中 system limit for_springboot中redis的缓存穿透问题

    什么是缓存穿透问题?? 我们使用redis是为了减少数据库的压力,让尽量多的请求去承压能力比较大的redis,而不是数据库.但是高并发条件下,可能会在redis还没有缓存的时候,大量的请求同时进入,导 ...

  5. 服务器中Redis清除缓存

    服务器中Redis清除缓存 清除缓存: //进入安装redis 的目录 进入 对应的 redis-cli //有设置的密码就输入密码登录,没有就直接进入 auth [username] passwro ...

  6. 【Java项目中 利用Redis实现数据缓存】

    文章目录 Java SpringBoot项目中 用Redis实现数据缓存 1 环境搭建 1.1 maven坐标 1.2 配置文件 1.3 配置类 2 实现缓存短信验证码 3 缓存菜品数据 4 Spri ...

  7. Redis, Memcache 基本使用

    Redis, Memcache Memcache MemCache是一个自由.源码开放.高性能.分布式的内存对象缓存系统,用于动态Web应用以减轻数据库的负载.它通过在内存中缓存数据和对象来减少读取数 ...

  8. 从无到有完整搭建lnmp+redis+memcache+gearmand网站

    安装环境 Distributor ID: Debian Description: Debian GNU/Linux 7.11 (wheezy) Release: 7.11 Codename: whee ...

  9. Laravel中Redis的配置和使用

    引入redis composer require predis/predis 会在composer.json中引入最新版本的predis composer update 把下载predis 库加入到v ...

最新文章

  1. Android采用Application总结一下
  2. C++中的虚继承与虚基类
  3. DataGrid的使用
  4. android最恶心的是什么?
  5. java8 list 行转列_Java14 都来了,你还不会用 Java8吗?
  6. 7-93 链表去重 (25 分)
  7. Java方法01 方法(函数)定义、调用、值传递、重载、命令行传递参数
  8. NVIDIA/Apex安装时遇到 C++编译:unrecognized command line option ‘-std=c++14’ 错误解决
  9. swift中变量的几种类型
  10. lolfps高但画面不流畅_华为P40系列90Hz参上 高刷新率玄机一文知晓
  11. java异常处理语句是,java 异常处理
  12. 搭建Cacti监控系统(四)-- 安装spine
  13. kettle抽取数据
  14. 怎样在word表格中快速输入序号?
  15. 【VMware】vmware15 安装win10教程【史上最详细图文教程】
  16. 女性程序员你需要注意
  17. ArcGIS使用(二)ArcGIS加载天地图
  18. 【LOJ】#3090. 「BJOI2019」勘破神机
  19. 2017身残志坚的定西考生魏祥上清华
  20. Population and carrying capacity 的第三个阶段:Crowding affects births

热门文章

  1. 苹果a7处理器_我认为的最经典的苹果产品
  2. 安卓Android事件总线EventBus简单使用
  3. 什么是线程?什么是进程?
  4. 快递批量发货之后怎么才能尽量降低快递的丢失率呢
  5. 赵海峰:大数据决定互联网金融未来
  6. mac sublime 避免打开文件时新建窗口
  7. Maven中profile和filtering实现多个环境下的属性过滤
  8. SWUST OJ#1099(希尔排序算法实现)
  9. 华为WATCH 3 Pro new 和华为WATCH 3 Pro区别
  10. [技巧]Ubuntu串口操作