#千锋逆战

一、mybatis生成插入后的uuid ,javaString类型的主键

1、使用selectKey 设置语句,设置keyProperty和keyColumn

select REPLACE(UUID(),"-","") 并设置order为插入之前BEFORE

这样会把得到的id设置到对应的属性上。

二、select和poll和epoll模型的区别

1、select和poll都是轮询机制,多路复用轮询的去询问,准备好的才去执行。

2、select有单个进程的描述符限制,poll是没有最大连接数的限制,基于链表来实现的

3、epoll模型是基于回调函数实现,异步的非阻塞。


epoll实现:

epoll在内核中会维护一个红黑树和一个双向链表,红黑树存放通过epoll_ctl方法向epoll对象中添加进来的事件,所以不需要每次调用epoll_wait都全量复制所有的事件结构。双向链表存放就绪的事件,所有添加到epoll中的事件都会与设备(网卡)驱动程序建立回调关系,也就是说,当相应的事件发生时会调用这个回调方法,这个回调方法在内核中叫ep_poll_callback,它会将发生的事件添加到rdlist双链表中。调用epoll_wait就会直接返回链表中的就绪事件,效率高。

select适合少量活跃连接,一般几千。

epoll适合大量不太活跃的连接。

如果有大量活跃连接可以使用多进程+select。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容