标签: 后端 (22)
SQL刷题Day01~Day06 有更新!
SQL刷题 SQL入门题: Day01选择: 1、1757. 可回收且低脂的产品 题目: 表:Products Column NameType product_idint low_fatsenum recyclableenum product_id 是这个表的主键。 low_fats 是枚举类型,取值为以下两种 ('Y', 'N'),其中 'Y' 表示该产品是低脂产品,'N' 表示不是低脂产品。 recyclable 是枚举类型,取值为以下两种 ('Y', 'N'),其中 'Y' 表示该产品可回收,而 'N' 表示不可回收。写出 SQL 语句,查找既是低脂又是可回收的产品编号。 返回结果 无顺序要求 。查询结果格式如下例所示: Products表: product_idlow_fatsrecyclable 0YN 1YY 2NY 3YY 4NN Result表: product_id 1 3 只有产品 id 为 1 和 3 的产品,既是低脂又是可回收的产品。 解答:关于对称逻辑 方法一: select product_id from products where low_fats = ....
缓存、二级缓存(J2Cache为例)、多级缓存
以器承己,以才示人,以气度世,不虑也。 一、缓存架构 缓存就是将数据从读取较慢的介质上读取出来放到读取较快的介质上,如磁盘到内存。平时我们会将数据存储到磁盘上,如:数据库。如果每次都从数据库里读取,会因为磁盘本身的 IO 影响读取速度,所以就有了像 redis 这种的内存缓存。可以将数据读取出来放到内存里,这样当需要获取数据时,就能够直接从内存中拿到数据返回,能够很大程度提高速度。但是一般 redis 是单独部署成集群,所以会有网络 IO 上的消耗,虽然与 redis 集群的链接已经有连接池这种工具,但是数据传输上也还是会有一定消耗。所以就有了应用内缓存,如:Caffeine。当应用内缓存有符合条件的数据时,就可以直接使用,而不用通过网络到 redis 中去获取,这样就形成了二级缓存。应用内缓存作为一级缓存,远程缓存(如 redis)作为二级缓存。 在整个软件架构中,分为的这 5 层每一层都可以添加缓存: 本地缓存(进程内缓存)与分布式缓存(进程外缓存)的对比: 本地缓存之间的对比: 关于本地缓存选型回答:本地缓存中caffeine看非因qps最好,如果jdk,集群,持久化有限制,只能....