1 概念和使用场景

  下载路径

2 基本存储类型

  • String
  • List
  • Set
  • SortedSet
  • Hash

3 事务

  单线程执行,即只能保证一个client发起的事务中的命令可以连续的执行,而中间不会插入其他client的命令。

  根据事务的四大特性ACID,只保证了原子性、一致性和隔离性

4 如何实现mybatis的二级缓存

  步骤一:新建一个类,用于实现org.apache.ibatis.cache.Cache接口

  步骤二:在mapper.xml中开启基于redis二级缓存

    <cache type=“com.wooyoo.learning.util.RedisCache”/>

  步骤三:sql语句中增加标签如,flushCache=true

4.1 二级缓存目的

  取数据时,首先从一级缓存中取,其次葱二级缓存中,如果二级缓存中有数据,则从二级缓存中取,否则查询数据库。

  删除、更新、增加数据的时候,同时更新缓存。

4.2 什么数据适合存放到二级缓存中

  • 很少被改动;
  • 数据不是很重要,容许出现偶尔的并发数据;
  • 不会被并发访问;

5 扩展

5.1 缓存穿透

  查询缓存中不存在的数据,导致直接查询到数据库。

  解决方案:第一次查询不存在的数据时,在缓存中增加一个对应的key为空的数据。

5.2 缓存雪崩

  所有缓存在同一时间全部失效,导致了所有请求都直接访问数据库。

  解决方案:设置线程互斥,只让一个线程构建缓存,其他等待缓存创建完成后再通过缓存取数据。或,设置交错失效时间

5.3 缓存击穿

  缓存雪崩的一个特例,不同的是缓存雪崩针对全部数据,缓存击穿是特定的热点数据。

  缓存方案:二级缓存

最新文章

  1. C# 文件/文件夹重命名
  2. ABP dynamic API
  3. javascript中的克隆
  4. PHP常用库函数
  5. REST及RESTful的实现
  6. e2e 自动化集成测试 架构 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step (一) 京东 商品搜索
  7. mac 软件安装
  8. 替换SQL Server数据库中所有表的所有字段的某些内容
  9. 怎样在Win7 64位旗舰版安装Python+Eclipse开发环境
  10. [原创]抢先DriverStudio夺取机器控制权(上篇)
  11. 【Python之路】第一篇--Linux基础命令
  12. android 按钮Button单击背景切换
  13. Python3基础 当函数中的局部变量与全局变量同名了,各管各的
  14. MySQL DNS反查导致连接缓慢
  15. [翻译] Tensorflow中name scope和variable scope的区别是什么
  16. C语言多维数组的指针传递
  17. spring mvc 在上传图片时,浏览器报The request sent by the client was syntactically incorrect
  18. Geometric regularity criterion for NSE: the cross product of velocity and vorticity 2: $u\times \om\cdot \n\times \om$
  19. elementUI vue table 操作选项中弹出框确定dialog
  20. python实现链表(一)

热门文章

  1. python redis 方法大全
  2. 报错 POST http://192.168.79.165:8015/marketing/manager 400 (BAD REQUEST) 解决办法
  3. Linux下的压缩及归档
  4. 【Hadoop &amp; Ecilpse】Exception in thread &quot;main&quot; org.apache.hadoop.security.AccessControlException: Permission denied: user=bruce, access=WRITE, inode=&quot;/out2/_temporary/0&quot;:atguigu:supergroup:drwxr-xr-x
  5. OO第二单元の小结
  6. keycloak ssl-required报错问题处理
  7. mysql使用常见问题
  8. Formatting HDFS
  9. Linux下的Shell特殊符号大全(转)
  10. Linux 下使用yum 命令安装MySQL