自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 Redis学习笔记-Set集合(2)

Redis Set集合内部编码会根据元素类型和数量自动选择intset或hashtable。当元素均为整数且数量≤512时使用intset节省内存,否则采用hashtable。Set集合典型应用场景是标签系统,可实现用户标签管理、共同兴趣计算等功能。通过SADD/SREM等命令可以方便地添加/删除用户标签,SINTER则可计算用户间的共同标签,适用于个性化推荐等场景。

2025-12-07 23:42:12 315 4

原创 Redis学习笔记-Set集合(1)

本文介绍了Redis集合类型的基本概念和常用命令。集合类型具有元素无序且不重复的特性,支持存储最多2^32-1个元素。文章详细讲解了集合的增删查改操作(SADD、SMEMBERS、SISMEMBER、SCARD、SPOP、SMOVE、SREM)以及集合间的交并差运算(SINTER/SINTERSTORE、SUNION/SUNIONSTORE、SDIFF)。每个命令都配有语法说明、时间复杂度分析和使用示例,帮助开发者掌握集合类型的实际应用。通过合理使用这些命令,可以高效解决开发中的集合操作需求。

2025-12-07 23:27:33 596 5

原创 Redis学习笔记-List列表(2)

Redis列表类型内部编码根据元素数量和大小自动选择ziplist或linkedlist实现。ziplist适用于元素较少且较小的场景,能节省内存;linkedlist则用于处理大量数据或大元素。列表类型在实际应用中可用于构建消息队列(支持阻塞式消费和分频道订阅)和微博Timeline等场景。通过lpush+brpop命令组合实现生产者-消费者模型,或使用lrange分页获取有序数据,结合哈希结构存储具体内容,满足各类业务需求。

2025-11-16 17:43:56 851 4

原创 Redis学习笔记-List列表(1)

本文介绍了Redis列表(List)类型的特点及常用命令。列表是有序的字符串集合,支持元素重复和索引访问。文章详细讲解了LPUSH/RPUSH(头插/尾插)、LPOP/RPOP(头删/尾删)、LRANGE(获取区间元素)、LINDEX(获取指定位置元素)等基础命令及其时间复杂度。还介绍了阻塞版本的BLPOP/BRPOP命令,这些命令在没有元素时会阻塞等待而非立即返回。列表适用于需要有序存储和快速两端操作的场景,为Redis提供了重要的数据结构支持。

2025-11-16 17:34:50 741 4

原创 Redis学习笔记-Hash哈希2

Redis哈希类型内部编码及使用场景分析 Redis哈希类型采用两种内部编码:ziplist(元素少且值小)和hashtable(默认超过512个元素或值大于64字节时)。哈希类型特别适合缓存用户信息等结构化数据,相比字符串类型更节省内存且支持灵活修改。但与关系型数据库相比,哈希类型是稀疏结构且不支持复杂查询。缓存用户信息主要有三种方案:字符串类型(简单但分散)、序列化字符串(整体效率高但不灵活)和哈希类型(直观灵活但需注意内存消耗)。实际应用中,哈希类型在需要频繁修改部分属性的场景中表现最优。

2025-11-15 00:18:38 773 5

原创 Redis学习笔记-Hash哈希1

Redis哈希类型操作指南 Redis哈希类型是一种键值对结构,支持嵌套字段存储。本文介绍了常用哈希命令及使用场景: 基础操作: HSET:设置字段值(O(1)~O(N)) HGET:获取字段值(O(1)) HEXISTS:检查字段存在性(O(1)) HDEL:删除字段(O(1)~O(N)) 批量操作: HKEYS/HVALS:获取所有字段/值(O(N)) HGETALL:获取全部字段和值(O(N)) HMGET:批量获取字段值(O(1)~O(N)) 特殊功能: HLEN:获取字段数量(O(1)) HSET

2025-11-14 23:44:32 625 5

原创 Redis学习笔记-String字符串

本文介绍了Redis字符串数据类型的常用命令,包括SET、GET、MGET、MSET等基本操作命令,以及INCR、INCRBY、DECR、INCRBYFLOAT等计数命令。重点讲解了SET命令的多种选项(如EX、PX、NX、XX)及其作用,并比较了多次GET与单次MGET的性能差异。此外,文章还提供了每个命令的语法、时间复杂度、返回值和具体示例,帮助读者更好地理解和运用Redis字符串操作。

2025-10-15 00:23:17 763 7

原创 Redis常⻅数据类型

本文介绍了Redis的5种基本数据结构及其通用命令,包括KEYS、EXISTS、DEL、EXPIRE、TTL和TYPE等操作。文章指出理解Redis的机制能帮助掌握命令的通用性,并强调不当使用可能造成严重后果。此外,还提到Redis每种数据结构都有多种内部编码实现,会根据场景选择最优方案。内容涵盖键的过期机制和数据结构的内部编码原理,为深入学习Redis使用打下基础。

2025-10-13 23:37:45 704 5

原创 mybatis-generator插件自动生成mapper及其实体模型配置

摘要: 本文介绍了使用MyBatis Generator插件自动生成MyBatis相关代码的详细步骤。主要包括:1)在pom.xml中配置MyBatis Generator插件依赖;2)创建generatorConfig.xml配置文件,设置数据库连接、生成路径等参数;3)运行插件生成实体类、Mapper接口及XML映射文件;4)在application.yml中配置MyBatis扫描路径。通过该自动化工具,开发者可以快速生成基础持久层代码,提高开发效率。文中还提供了详细的目录结构和配置示例截图,帮助读者直

2025-10-09 20:37:16 617 10

原创 Java数据库时间返回前端错误(差八个小时)

摘要: Java项目中获取本地时间存入数据库时出现少8小时问题,主要因时区设置不一致导致。可能原因包括:JVM默认使用UTC时区、数据库时区未配置为东八区、JDBC驱动未指定时区。解决方案:1)设置JVM或Spring Boot时区为Asia/Shanghai;2)代码中显式指定时区;3)检查并修改数据库时区;4)JDBC连接串添加serverTimezone=Asia/Shanghai参数。核心原则是确保应用、数据库、JDBC时区统一为东八区。 (字数:149)

2025-10-07 00:32:49 630 7

原创 计算机网络基础(二):OSI七层模型和TCP/IP五层模型

网络协议分层解析摘要 网络协议是设备间通信必须遵守的规则集合,体现为数据包格式。TCP/IP协议通过五元组(源/目的IP、端口号、协议号)标识通信。为简化复杂度,协议采用分层设计: OSI七层模型(理论框架,未实际应用) TCP/IP五层模型(实际标准): 应用层:面向应用程序(如HTTP、FTP) 传输层:端到端数据传输(TCP/UDP) 网络层:路由寻址(IP协议) 数据链路层:帧同步与校验(以太网等) 物理层:硬件信号传输(网线、光纤等) 分层设计通过接口规范解耦功能,提升扩展性和维护性,如上层调用下

2025-08-04 13:06:18 1072

原创 计算机网络基础(一):网络原理-初识

本文介绍了网络发展史和网络通信基础知识。网络发展从独立模式演进到网络互连,分为局域网(LAN)和广域网(WAN),讲述了不同组建方式。网络通信基础部分重点讲解了IP地址和端口号的作用:IP地址用于定位主机网络地址(32位二进制数,常用点分十进制表示),端口号(0-65535)则用于定位主机中的具体进程,两者共同确保网络数据的准确传输,类似外卖配送需要地址和手机号的双重验证。文章采用技术博客风格,配有示意图和分层说明。

2025-08-03 16:33:23 630

原创 HTML详解

本文介绍了HTML的基础知识,包括HTML概念、基本格式和常见标签。首先解释了HTML是用来描述网页的标记语言,可以格式化文本、添加图片等功能。然后详细介绍了HTML文档的基本结构,如DOCTYPE声明、head和body标签等。接着分类讲解了各种常用标签:标题标签(h1-h6)、段落标签(p)、换行标签(br)、图片标签(img)、超链接标签(a)、表格标签(table,tr,td)、表单标签(form,input,select,textarea)以及布局标签(div,span)。每种标签都配有示例代码,

2025-08-02 18:41:55 935

原创 JVM超详细解析

JVM是 Java Virtual Machine 的简称,意为 Java虚拟机虚拟机是指通过软件模拟的具有完整硬件功能的、运⾏在⼀个完全隔离的环境中的完整计算机系统。常⻅的虚拟机:JVM、VMwave、Virtual Box。

2025-07-31 12:41:16 1119 3

原创 多线程进阶(八股文版)

总是假设最坏的情况,每次去拿数据的时候都认为别⼈会修改,所以每次在拿数据的时候都会上锁,这样别⼈想拿这个数据就会阻塞直到它拿到锁(锁竞争激烈)

2025-07-24 00:15:41 1047

原创 多线程(初阶3)

使⽤没有共享资源的模型适⽤共享资源只读,不写的模型a. 不需要写共享资源的模型b. 使⽤不可变对象直⾯线程安全(重点)a. 保证原⼦性b. 保证顺序性c. 保证可⻅性。

2025-07-14 12:25:08 1623 1

原创 多线程(初阶2)

我们把⼀段代码想象成⼀个房间,每个线程就是要进⼊这个房间的⼈。如果没有任何机制保证,A进⼊房间之后,还没有出来;B 是不是也可以进⼊房间,打断 A 在房间⾥的隐私。这个就是不具备原⼦性的。那我们应该如何解决这个问题呢?是不是只要给房间加⼀把锁,A 进去就把⻔锁上,其他⼈是不是就进不来了。这样就保证了这段代码的原⼦性了。有时也把这个现象叫做同步互斥,表⽰操作是互相排斥的。

2025-07-08 09:43:39 1997

原创 多线程(初阶1)

⼀个线程就是⼀个 “执⾏流”. 每个线程之间都可以按照顺序执⾏⾃⼰的代码. 多个线程之间 “同时” 执⾏着多份代码.

2025-07-06 22:38:14 993

原创 JavaEE初阶-文件操作和IO

在计算机中, 文件是以计算机的磁盘为载体存储在计算机上的数据集合, 这些文件不仅包括普通文件(如txt, rar, zip, mp4等文件), 还可以包含目录.

2025-04-27 20:46:28 2595 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除