- 博客(13)
- 收藏
- 关注
原创 黑马点评day06-达人探店和关注业务
改进关注功能,在向数据库写入之后,同时需要存入Redis的set集合中,key为: follows:userId,表示当前用户关注的作者。修改上述likeBlog()方法:添加zset时score等于当前时间戳。缺点:每次读取都需要从用户那里重新拉取到本人收件箱,耗时较长,延时较高。大V的活跃用户推送模式,普通用户采用拉模式。
2023-07-03 22:12:49 255 1
原创 黑马点评day05-Redis消息队列
内存限制问题数据安全问题List:双向链表3、基于Redis的LPubSub结构消息队列(专门的发布订阅机制) PSUBSCRIBE:pattern Redis Stream 提供了消息的持久化和主备复制功能,可以让任何客户端访问任何时刻的数据,并且能记住每一个客户端的访问位置,还能保证消息不丢失。消息读完不会被删除 若block=0 则表示一直阻塞 消费者组方法: 消息确认: 查看指定组里的pendingList,可同时指定消费者 从pendin
2023-07-02 23:18:01 390 1
原创 黑马点评day04-分布式锁及基于JVM阻塞队列的秒杀优化
在这六步操作中,又有很多操作是要去操作数据库的,而且还是一个线程串行执行, 这样就会导致我们的程序执行的很慢,所以我们需要异步程序执行。
2023-07-01 22:24:06 325
原创 黑马点评day03优惠券秒杀(超卖问题)
具体操作逻辑如下:比如时间是否充足,如果时间充足,则进一步判断库存是否足够,然后再根据优惠卷id和用户id查询是否已经下过这个订单,如果下过这个订单,则不再下单,否则进行下单。
2023-06-28 22:44:01 890 1
原创 黑马点评day02-商户查询缓存
提高redis高可用:使用redis集群,借助redis哨兵机制**内存淘汰:**redis自动进行,当redis内存达到咱们设定的max-memery的时候,会自动触发淘汰机制,淘汰掉一些不重要的数据(可以自己设置策略方式)**超时剔除:**当我们给redis设置了过期时间ttl之后,redis会将超时的数据进行删除,方便咱们继续使用缓存**主动更新:**我们可以手动调用方法把缓存删掉,通常用于解决缓存和数据库不一致问题。
2023-06-27 00:35:45 222
原创 详解MySQL的事务ACID实现原理与MVCC
(1)刷脏是随机IO,因为每次修改的数据位置随机,但写redo log是追加操作,属于顺序IO(2)那为什么每一次提交事务,要刷新redo log 到磁盘中呢,而不是直接将buffer pool中的脏页刷新到磁盘呢?因为在业务操作中,我们操作数据一般都是随机读写磁盘的,而不是顺序读写磁盘。而redo log在往磁盘文件中写入数据,由于是日志文件,所以都是顺序写的。顺序写的效率,要远大于随机写。这种先写日志的方式,称之为 WAL(Write-Ahead Logging)。
2023-06-22 19:59:42 336 1
原创 Redis数据类型及简单命令
map集合,key-map,这时候值是一个map集合,本质上和string类型没有太大区别,还是一个简单的key-vlaue,类型变成是hash,有序结合,后加入排后面。有序集合,不可重复,每个元素关联一个double类型分数score,通过此数据进行从小到大排序。在set的基础上,增加了一个值,对比:sadd myset hello,zadd myzset 1 hello。所有的list命令都是l开头的,并且获取命令都是默认先进后出原则。在redis中,可以设计成栈,队列,阻塞队列。
2023-05-24 23:42:11 58 1
原创 Linux最常用命令,基本解决90%的问题
rm -rf [目录或文件]rm -ri [目录或文件]rm -rf 目录或者文件 强制删除文件或目录(无论目录是否为空)rm 命令中不跟 r 参数,无法删除目录,只能删除文件,且会再次询问rm -ri 目录或文件在删除前询问是否确认删除rmdir 目录名称(目录为空)
2023-05-24 23:33:08 110 1
原创 Git常用命令及使用流程
git pull [shortname] [branch] [==allow-unrelated-histories] 表示当自己init之后再在本地仓库创建有文件,链接上remote库之后,到pull时直接pull会报错,该指令可以忽略历史记录 强制pull。标签相当于一个静态节点,起到版本控制作用,类似游戏里的存档 一旦检出到某个存档点,从改存档点之后的操作就会消失,而分支就是继该存档点之后的游玩路线(相当于游戏数据,未再次保存为存档点之前的)需要init,执行默认创建名为master的本地分支。
2023-05-24 23:19:04 84
原创 瑞吉外卖项目优化篇总结-MySql主从复制的实现
重启master库:service mysqld restart。使用sharding-JDBC方便实现数据库读写分离。Master Slave 主从同步错误。若报错,说明从库目前线程被占用。使用stop slabe停掉。#在Slave库上查看状态。
2023-05-23 23:49:30 306 1
Redis-6.2.6-x64-Windows
2023-05-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人