面试题
文章平均质量分 84
淋和枫
学习中,希望大佬多多提建议
展开
-
Redis作为缓存,mysql的数据如何与redis进行同步?
允许延时一致的业务,采用异步通知使用MQ中间中间件,更新数据之后,通知缓存删除利用canal中间件,不需要修改业务代码,伪装为mysql的一个从节点,canal通过读取binlog数据更新缓存强一致性的,采用Redisson提供的读写锁共享锁:读锁readLock,加锁之后,其他线程可以共享读操作排他锁存强一致性的,采用Redisson提供的读写锁共享锁:读锁readLock,加锁之后,其他线程可以共享读操作排他锁独占锁writeLock也叫,加锁之后,阻塞其他线程读写操作。原创 2023-10-04 21:33:43 · 2278 阅读 · 0 评论 -
动态代理(jdk/cglib)
那这样做最大的好处呢就是我们可以在代理类调用目标类之前和之后去添加一些预处理和后处理的操作,来扩展一些不属于目标类的功能。那比如如果我们使用JDK动态代理,只需要我们的代理来去实现invocation handler然后实现它的invoke方法就可以去代理任何你想控制访问类,而不是具体的某个类。JDK动态代理和CGLIB动态代理是Java中两种常见的实现动态代理的方式,它们之间有一些区别。所谓静态代理,就是在程序运行之前,我们就给目标类编写了其代理类的代码然后编译其代理类。,通过代理类调用目标类完成。原创 2023-07-18 21:54:44 · 106 阅读 · 0 评论