Redis和数据库的读操作

数据缓存往往会在Redis上设置超时时间,当设置Redis的数据超时后,Redis就没法读出数据了,这个时候就会触发程序读取数据库,然后将读取的数据库数据写入Redis(此时Redis会给Redis重设超时时间),这样程序在读取的过程中就能按一定的时间间隔刷新数据了。

下面写一下这个流程的伪代码:

public DataObiect readMethod(args){//尝试从Redis中读取数据DataObject data=getRedis(key);if(data == null){//从数据库中读取数据data=getFromDataBase();//重新写入Redis,以便以后读出writeRedis(key,data);//设置Redis的超时时间为5分钟setRedisExpire(key,5);}return data;}

Redis和数据库的写操作

写操作要考虑数据一致性的问题,尤其是那些重要的业务数据,所以首先考虑从数据库中读取最新的数据,然后对数据进行操作,最后把数据写入Redis缓存中。

下面写出这个流程的伪代码:

public DataObject writeMethod(args){//从数据库里读出最新数据DataObject dataObject=getFromDataBase(args);//执行业务逻辑ExecLogic(dataObject);//更新数据库数据updataDataBase(dataObject);//刷新Redis缓存updataRedisData(dataObject);
}

Redis和数据库的读写操作分析相关推荐

  1. Redis 缓存数据库

    Redis 缓存数据库 第1章 Redis简介: redis是使用C语言编写的开源的,支持网络,基于内存,可持久性的键值对存储数据库,2013年5月之前,Redis是最流行的键值对存储数据库 Redi ...

  2. redis实现数据库(一)

    转:https://www.cnblogs.com/beiluowuzheng/p/9738159.html 服务器中的数据库 Redis服务器将所有数据库都保存在服务器状态redis.h/redis ...

  3. Redis (二) 数据库

    前言 本文基于 黄建宏-<Redis设计与实现>总结.第二部分为Redis 数据库,RDB持久化,AOF持久化,事件,客户端,服务器 目录 前言 数据库 服务器中的数据库 服务器数据库示例 ...

  4. 虹科干货|Redis企业版数据库为企业「数据安全」叠加最强Buff!

    虹科干货|Redis企业版数据库为企业「数据安全」叠加最强Buff! "这是一场可预见的噩梦!" 近期,黑客通过攻击亚洲最大两家数据中心-万国数据和新科电信媒体,获取国际巨头企业的 ...

  5. Redis缓存数据库

    目录 NoSQL NoSQL特点 常见的NoSQL数据库 redis MongoDB 行式存储数据库 列式存储数据库 redis简介 安装redis redis启动服务 前台启动 提取信息 后台启动 ...

  6. Redis高性能数据库

    经常用redis做什么? 在公司中经常用redis来做数据库的缓存,用来缓存一些经常被客户端访问到的数据,从而减轻后端数据库的压力 常见的缓存数据库有哪些? Redis     Memcache    ...

  7. Redis——单机数据库的实现

    数据库 Redis服务器将所有数据库都保存在服务器状态redis.h/redisServer结构的db数组中 db数组的每个项都是一个redis.h/redisDb结构 每个redisDb结构代表一个 ...

  8. 基于 EntityFramework 的数据库主从读写分离架构(1) - 原理概述和基本功能实现...

    回到目录,完整代码请查看(https://github.com/cjw0511/NDF.Infrastructure)中的目录: src\ NDF.Data.EntityFramework\Maste ...

  9. mysql读写分离_Mysql数据库09MySQL读写分离

    Mysql数据库09-MySQL读写分离 一.读写分离应用案例分析 在企业用户中,在大量的数据请求下,单台数据库将无法承担所有读写操作.解决方法:配置多台数据库服务器以实现主从复制+读写分离. 二.读 ...

最新文章

  1. leetcode算法题--Magical String
  2. Zookeeper分布式一致性原理(十一):Zookeeper在JStorm中应用
  3. ROS2 on android,ROS2 通过Debian安装ROS2
  4. 无法在web服务器上启动调试 您不具备调试此应用程序的权限
  5. 网络视频贴片广告全面推行第三方监测
  6. Linux Shell脚本入门教程系列之(十一)Shell while循环
  7. linux升级openssh8.2,openssh7更换升级位8.2版本过程
  8. python编写鸡兔同笼程序设计_Python少儿编程:鸡兔同笼,涨知识了
  9. ASP.NET和ASP程序防止在IE中进行缓存
  10. Semantic-UI的React实现(一):架构介绍
  11. 基于java的户籍管理系统的设计与实现
  12. 2020-Point attention network for semantic segmentation of 3D point clouds
  13. 分析项目-AQI分析与预测
  14. Wireshark分析sql布尔盲注流量包
  15. 基于javaweb个人网站论坛的设计与实现(源码、论文、毕业设计、数据库文件)
  16. Usually, this means that the Expanded widget has the wrong ancestor RenderObjectWidget. Typically, E
  17. linux 离线地图开发包,Mapbox本地离线部署
  18. Android全面屏适配笔记
  19. xgen 毛发guide历史被清理解决方法
  20. cocos creator 3D | 拇指投篮 | 3D项目入门实战

热门文章

  1. 对List既分页排序的方法(超好用!!!)
  2. 2021年安全员-A证模拟试题及安全员-A证模拟考试
  3. 谈谈学习方法背后的原理
  4. Java在线教育项目 第三天文章详情前后端成形记
  5. 创建Maven项目报错
  6. 住宅建筑电力监控系统的研究与应用
  7. Java Random() 函数的使用方法
  8. GPIO_PULLUP,PULLDOWN, NOPULL
  9. 高频屏蔽的概念及屏蔽的原理
  10. STA - 不同时钟域之间插入latch,fix hold违例