jedis和基于mybatis的redis

java操作

JEDIS常用API
jedis set 的四个重载方法(byte[]的四个自动忽略)
redis的分布式锁
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

spring操作redis

在这里插入图片描述

对一个key的多次操作可以绑定一下 之后就不用特意声明是取的哪一个key
在这里插入图片描述

分布式缓存

比如mybatis的缓存就是一个应用对着一个
一个应用对应着自己的一个缓存
而分布式建立在集群上 是希望多个应用对应同一个缓存
在这里插入图片描述
mybatis的二级缓存是存的namespace中的id
mybatis的Cache里面的构造函数是id
在这里插入图片描述
我们实现redis的缓存的时候也模仿一下传id
在这里插入图片描述
在这里插入图片描述
在put中放入一个hash类型的存储
做了那些工作呢?
从工厂类中获取redistemplate
为他的KEY都做序列化
在这里插入图片描述
put方法取出 id名的hash存储类型的 key为key的value值
在这里插入图片描述
在这里插入图片描述

清空缓存中 只要进行增删改都会把缓存清空
在这里插入图片描述
在这里插入图片描述
增删改把缓存清空 为的是保证之后查询都查询到的是数据库中最新的数据

共享缓存

redis之间存储每个表就像 1个hash类型
key 就是namespace的id 对应着一个mapper 作为一个hash 其中存在着不同的sql
在这里插入图片描述

对一个表的增删改都会清空当前这个表对应的缓存
第二个表比如userfile表就是第二个key对应着第二个hash 也只会清空自己所对应的缓存
那么如果两个表之间有关联怎么办?
在这里插入图片描述
userinfo表当中的缓存都放入emp当中 二者共享缓存

在这里插入图片描述
在这里插入图片描述
上面的小key就是hash中的小key 其实是很长的一般都推荐用md5把key变短便于存储到redis 也便于从缓存中取出
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
当很多用户在此时缓存1小时 然后经过1小时之后所有的缓存都失效 就开始走数据库 于是会发生
在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值