- 博客(7)
- 收藏
- 关注
原创 Redis学习(四)缓存穿透、雪崩、击穿
Redis的访问并发在10万量级,而Mysql数据库在几千左右,如果并发线程请求没有从Redis获得到数据,那么就会向数据库请求。在数据库请求未命中,则在Redis缓存空对象,下次再有相同的请求时,不再请求数据库,Redis缓存不为null则返回。部分key(高并发且缓存业务重建较复杂&缓存重建过程中大量请求打到数据库)过期失效,给数据库带来冲击。缓存和数据库都不存在被请求的数据,大量线程并发都打到数据库,使数据库崩溃。-可以优先请求一级缓存,当一级缓存失效时,请求二级缓存,再失效就从数据库中获取。
2024-10-11 22:48:37 381
原创 Redis学习(三)缓存
第二种是异常情况,线程1在删除缓存后更新数据库期间(时间相对长),线程2查缓存失败则去读取数据库(这个过程时间短),由于数据库还没有更新成功,最后线程2请求的数据还是老数据,且将老数据更新到了缓存。第二种是异常情况,恰好缓存失效时,线程1查缓存失败则查库,接着要将查的旧数据更新进缓存期间,线程2更新数据库并删缓存,导致结果是数据库更新了但是缓存还是旧数据。当数据库中的数据发生变化时,主动更新缓存中的数据,可以保证缓存中的数据与数据库中的数据保持高度一致,适用于对数据一致性要求较高的场景。
2024-10-08 18:18:01 779
原创 Redis学习(二)
相比Jedis,SpringDataRedis提供更高层次的抽象和整合,支持Spring框架。RedisTemplate是SpringDataRedis的一个工具类,可通过操作Redis。RedisTemplate封装了连接Redis、序列化、Redis 事务等操作。
2024-10-02 11:18:58 563
原创 Redis学习(一)
用户登录时,服务器生成一个唯一的 Session ID,并将其作为键,将用户信息序列化为字符串作为值存储到 Redis 中→Session ID 被发送给用户的浏览器,浏览器在后续的请求中会携带这个 Session ID→多个应用实例可以通过检查 Redis 中的 Session ID 来验证用户的登录状态,实现 Session 的共享。Set类型存储的数据是无序的,且不可重复,提供了丰富的操作,比如添加、删除、判断元素是否存在、获取集合大小、进行集合间的运算(交集、并集、差集)等。
2024-09-25 14:09:14 547
原创 2024年中国大学生计算机设计大赛国赛(济南+杭州赛区)
只是个加分项,没想到杭州赛区直接列为必要项,我们系统布在内网且数据是我们学校的保密数据,就没有系统演示,直接减大分(也可能是济南赛区之后提出的新要求,为什么这么说,因为一个答辩组五位评委老师(赛区十几二十个组),我们两个作品竟然遇到了同样两位答辩老师,说明专家重合度高哇,当然不排除我们“运气好”,捂脸哭)。B和C同学主要关注打web应用开发的作品,我和C同学主要关注的是另一个,虽然山东和杭州两个赛区我都去了,但我只答辩了杭州的,答辩教室门内和门外差别是很大的,因此我对杭州赛区感受比较深。
2024-08-28 22:19:47 1033
原创 Three.js模型高亮影响射线-高亮bug1
换一种方法,创建一个实心的三维盒子,射线在与其交互时可以更准确地检测到碰撞,即点中这个三维盒子相当于点中模型。项目要做一个模型高亮的效果,本来点击射线选中的正确率很高(点击很边缘都能选中),但是加了高亮效果就不好了,请看。),这样的模型实际上是一系列的线段,在射线选中物体时,这些线段会造成阻挡。点到中间部分的模型,得点模型偏下方才能选中。以上这种创建的是一个由线条构成的边框(这样子点中率就很高,完整代码如下。
2024-04-07 21:26:15 241 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人