全部文章
问题:当数据库有数据更新时,怎样保证redis缓存中的数据与数据库数据一致? Redis更新的正确方法 看到好些人在写更新缓存数据代码时,先删除缓存,然后再更新数据库,而后续的操作会把数据再装载的缓存中。然而,这个是逻辑是错误的。试想,两个并发操作,一个是更新操作,另一个是查询操作,更新操作删除缓存 ...
#编程#入门#java#spring#webflux#SSE#reactor# SSE数据结构 视频讲解: https://www.bilibili.com/video/av82297051/ WebfluxServerApplication.java package com.example.web ...
一、MySQL创建数据表 在创建数据库之后,接下来就要在数据库中创建数据表。所谓创建数据表,指的是在已经创建的数据库中建立新表。创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完整性(包括实体完整性、引用完整性和域完整性)约束的过程。 基本语法 在 MySQL中,可以使用 CREATE T ...
还原设计稿,也就是如何适配移动端繁杂的屏幕大小。 通常而言,设计师只会给出单一分辨率下的设计稿,而我们要做的,就是以这个设计稿为基准,去适配所有不同大小的移动端设备。 在此之前,有一些基础概念需要理解。 设备独立像素 以 iPhone6/7/8为例,这里我们打开 Chrome 开发者工具: 这里的 ...
一.管理工具 gnome是通过gnome-tweak-tool(优化工具)来管理的,可以在左上角的应用程序->工具里找到。 也可以直接在终端输入gnome-tweak-tool来启动它。启动界面如下图所示 二. 主题目录 首先弄明白3个目录 1. 存放主题的地方 /usr/share/themes ...
前两篇文章已经介绍了多线程以及 JMM,我们说过多线程面对的安全问题体现在 `可见性 重排序`三个问题上。Synchronized 就是 Java 为我们提供的解决线程安全问题的一把锁。 以前我们都叫它重量级锁,是因为以前它的性能相比与其他锁要差很多,而且非常笨重。但是随着 JDK 1.6 中对 S ...
Java函数式编程、lambda表达式 Java8开始支持函数式编程、包括lambda表达式、Stream流。 函数式编程用于简化开发,对于某些类,或许只使用一次,那么就没必要对其进行单独的实现一个类,java原本提供了简化的方案,如内部类、匿名内部类等。 lambda对此更加简化。 函数式接口 函 ...
1. 构造方法是一个特殊的方法,构造方法名字必须与类名一致,构造方法必须没有返回类型,也就是不编写返回类型 2. 分类 隐式 当在一个类中,没有手动编写构造方法,则系统会提供一个默认的无参的构造方法 显示 3. 构造方法的执行 当创建对象时 自动执行 相匹配的构造方法 4. 语法格式: public ...
问题: 最近做项目(项目使用的是springboot)的时候,数据库有一个配置参数表,每次都要查询数据库去做数据转换,这样每次查询数据库感觉不太友好,后来写了一个方法项目启动完成后立即执行此方法,将配置加载到内存中,避免频繁查询数据库造成的性能问题。 当服务启动时需要做一些初始化的操作springb ...