- 博客(756)
- 收藏
- 关注
原创 MySql调优(三)Query SQL优化(2)explain优化
6、索引优化:上面讲到子查询的优化,以及如何建立索引,而且在多个字段索引时,分别对字段建立了单个索引,后面发现其实建立联合索引效率会更高,尤其是在数据量较大,单个列区分度不高的情况下。这一条虽然order by后面的字段和索引中字段顺序相同,但是一个是降序,一个是升序,所以也会产生using filesort,同时升序和同时降序就不会产生using filesort了。order by后面的字段顺序不符合组合索引中的顺序,所以order by后面的不会走索引,即会产生using filesort。
2024-09-19 16:23:27 1465
原创 spring模块(六)spring event事件(3)广播与异步问题
下面对同一个事件加上多个监听器,copy MyListenerOne为MyListenerTwo。触发event,监听器和调用处是同步执行的,调用处-->listen执行-->调用处;可以看到多个listener都监听到了,是广播的形式。在某一个Listener加入异常代码。调用接口到返回的时间很长,日志打印。日志打印这一个监听器报错。
2024-09-14 14:58:10 599
原创 拦截器与过滤器(三)过滤器集成与使用
自定义过滤器类实现Javax.serlvet.Filter接口(对应servlet-api.jar),加上Component注解可以被扫描到即可,不需要其他的配置了。
2024-09-13 17:34:26 232
原创 权限越界问题
1)水平越权:指相同权限用户之间在未经授权的情况下,可以访问到一方的资源。比如:同是一个网站的普通用户A和B,A通过越权操作访问了B的信息。这种越权可以按用户维度去控制数据权限,比如查询中带上用户的区域范围等。2)垂直越权:指没有做好不同角色之间的权限控制,或仅仅在菜单上做了权限控制,低权限用户实现了高权限用户的功能。比如普通用户通过越权登录到了管理员页面,实现管理员才能的操作。
2024-09-13 17:18:08 257
原创 spring常用注解(10)@Order
filter的执行顺序除了可以用上面的@Order注解外,还可以通过配置文件设置,这时配置文件设置的优先级--》注解设置的优先级。如我两个filter都设置为Ordered.HIGHEST_PRECEDENCE + 1,其中一个在配置文件设置的,另外一个通过注解设置的,这时配置文件设置的那个会先执行。加@Order()注解,在注解中加入数字,数字越小,优先级越高,最先执行。表示级别最低,最后执行过滤操作。3、和配置文件的优先级问题。
2024-09-13 17:05:10 284
原创 spring常用注解(九)@Lazy
Lazy注解在Spring框架中用于声明一个bean的懒加载行为。当一个bean被标记为@Lazy时,它不会在容器启动时立即初始化,而是在第一次真正需要使用这个bean的时候才进行实例化。这个注解可以用在类或接口、方法上、字段上等。
2024-09-13 14:51:50 243
原创 Redis操作--RedisTemplate(二)StringRedisTemplate
由于存储在 Redis 中的 key 和 value 通常是很常见的 String 类型,Redis模块提供了 RedisConnection 和 RedisTemplate 的扩展,分是 StringRedisConnection 和 StringRedisTemplate,作为字符串操作的解决方案。通过源码可以看见对于Key、Value、HashKey、HashValue都是进行String类型的序列化。
2024-08-13 10:37:44 661
原创 Local Cache(二)demo
(1)第一次访问localhost:7777/cacheDemo/user/listByAccount?userAccount=zs从数据库查询。(1)第一次访问localhost:7777/cacheDemo/user/listUsers从数据库查询。(2)再次访问,先命中local cache缓存。(2)再次访问,命中local cache缓存。
2024-07-17 18:07:48 148
原创 Websocket
WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。而Http请求只能从客户端请求服务端才能得到响应。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
2024-07-05 17:26:46 470
原创 加密(4)hash加密
加密中的另一个概念是哈希。哈希与传统加密不同。加密有两种方式:从纯文本到密文,再回到纯文本。哈希是一种单向算法,无法轻易撤消。又称消息摘要()或数字摘要在线加密解密 (oschina.net)// 原文// 算法// 获取数字摘要对象// 获取消息数字摘要的字节数组运行乱码使用base64 编码// 原文// 算法// 获取数字摘要对象// 消息数字摘要// base64编码。
2024-07-05 10:19:07 1154
原创 加密(3)非对称加密
非对称加密,又称现代加密算法,非对称加密是计算机通信安全的基石,保证了加密数据不会被破解。加密和解密使用的是两个不同的密钥,这种算法叫作非对称加密算法。
2024-07-05 10:07:20 397
原创 postman
输入一个左大括号,则postman会提示所有的环境变量,标记为G的为全局的,标记为E的为环境变量。引用的变量,则不需要输入value,postman会自动获取变量的current value。有全局变量和环境变量之分,全局变量顾名思义全局生效,环境变量是区分环境的。注意这里current value是需要填写的,表示当前应用的值。如我新增了一个local、dev和qa环境,引用全局变量不需要选择环境。引用环境变量需要选择环境。如我这里选择了dev。
2024-06-28 15:06:58 705
原创 java加载文件初始化数据
对于一些数据量不大的配置类数据,放到数据库中占用数据库资源,可以放到代码中维护。比如(1)字段少业务单一:做成枚举;(2)字段多业务复杂:则可以放到文件中维护,初始化时读取文件。
2024-06-27 17:31:34 304
原创 spring模块(二)SpringBean(2)InitializingBean
InitializingBean是Spring框架提供的一个接口,用于在Bean初始化完成后执行特定的初始化逻辑。
2024-06-26 17:53:54 360
原创 kafka(五)spring-kafka(1)集成方法
使用 KafkaTemplate发送消息。使用 @KafkaListener 注解。基础配置:以下是必须的配置。
2024-06-22 15:54:33 357
原创 kafka(四)消息类型
回调函数会在 producer 收到 ack 时调用,为异步调用,该方法有两个参数,分别是 RecordMetadata 和 Exception,如果 Exception 为 null,说明消息发送成功,如果 Exception 不为 null,说明消息发送失败。同步发送的意思就是,一条消息发送之后,会阻塞当前线程,直至返回 ack。由于 send 方法返回的是一个 Future 对象,根据 Futrue 对象的特点,我们也可以实现同 步发送的效果,只需在调用 Future 对象的 get 方发即可。
2024-06-22 11:16:42 522
原创 kafka(二)安装部署(2)windows
(1)进入config目录 ,复制zoo_sample.cfg文件,改名为zoo.cfg,更改。安装Kafka之前,需要安装JDK、Zookeeper、Scala,②将新建的环境变量添加到系统变量path中。以管理员权限打开cmd命令窗口,输入。的原因为:安装的bin目录下的。文件名,也可直接把此文件中的。
2024-06-22 09:58:06 664
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人