- 博客(129)
- 资源 (13)
- 收藏
- 关注
原创 VMware+RockyLinux+ikuai+docker+cri-docker+k8s+calico BGP网络 自用 实践笔记(底稿)
本文详述VMware中搭建k8s实验环境全流程:先创4核4GB/100GB双网卡(仅主机+软路由)Rocky Linux 9.6虚拟机,再通过克隆/重装准备三节点集群(一主两从),借iKuai 3.2软路由(LAN 192.168.66.200)实现互通;最终部署Kubernetes v1.29.2集群,采用Docker+CRI-Dockerd+kubeadm方案并集成Calico插件,含主机规划、环境配置、Docker离线安装及验证,图文适配实验/生产需求。
2025-09-26 20:58:39
1476
原创 VMware+RockyLinux+ikuai+docker+cri-docker+k8s+calico BGP网络 自用 实践笔记(四)
本文详细介绍了在RockyLinux系统上部署Kubernetes v1.29.2集群的完整流程,采用一主(Master)二从(Worker)架构,使用Docker+CRI-Dockerd+kubeadm方案,并通过Calico网络插件实现集群网络功能。主要内容包括:网络与主机规划(设定IP地址和主机名)、基础环境准备(主机名配置、IP映射同步、ipvs安装等)、Docker安装及配置(指定版本安装、镜像源设置、daemon配置)。文档支持离线包安装方式,并提供了详细的命令行操作步骤和验证方法,适合生产环境
2025-09-26 17:48:43
1008
原创 VMware+RockyLinux+ikuai+docker+cri-docker+k8s+calico BGP网络 自用 实践笔记(三)
本文记录了在虚拟化环境中部署iKuai软路由系统的详细步骤。首先准备了三台Rocky Linux虚拟机作为实验环境,通过创建虚拟机、添加双网卡(LAN/WAN)、加载iKuai 3.2 ISO镜像完成系统安装。重点展示了配置LAN口IP(192.168.66.200/24)、登录管理界面、绑定WAN口等关键操作流程。最后说明如何为三台Rocky Linux节点配置静态IP和网关(指向软路由),以实现通过软路由上网的目标。文中包含大量图文操作指引,适合需要搭建软路由为实验环境提供网络服务的用户参考。
2025-09-25 17:42:06
955
2
原创 VMware+RockyLinux+ikuai+docker+cri-docker+k8s+calico BGP网络 自用 实践笔记(二)
本文介绍了为Kubernetes集群准备三台Rocky Linux节点的两种方法:通过克隆虚拟机或全新安装。具体步骤包括:1)规划一主两从的k8s架构,由软路由ikuai提供外网;2)建议还原到初始快照状态(可选);3)演示从"justinstall"快照克隆出RockyLinux-2和RockyLinux-3两个节点的详细过程。最终完成三台实验节点的准备工作,为后续docker和k8s实验奠定基础。
2025-09-25 17:41:43
670
原创 VMware+RockyLinux+ikuai+docker+cri-docker+k8s+calico BGP网络 自用 实践笔记(一)
本文详细记录了在VMware中安装Rocky Linux 9.6的完整过程,为后续Docker和Kubernetes实验做准备。主要内容包括:创建虚拟机时选择双网卡配置(仅主机模式+后续软路由)、设置4核CPU/4GB内存/100GB存储、自定义分区方案(/boot 800MB、swap 4GB、/ 剩余空间)、安装后配置静态IP(192.168.66.11)等关键步骤。文章采用图文结合的方式,详细展示了从ISO镜像安装到网络配置的全过程,特别强调了网络环境的模拟设置,为后续K8s实验打下基础。
2025-09-24 21:20:57
1217
原创 Win10+Unlocker3+VMware15.5+MacOS10.14+xcode+QT for ios+虚拟机苹果系统 自用 实践笔记
Win10+Unlocker3+VMware15.5+MacOS10.14虚拟机苹果系统我使用windows 10我使用VMware15.5.6我使用Unlocker3.0.3我使用MacOS10.14.61.用Unlocker解锁2.新建虚拟机选择10.14我使用windows 10我使用VMware15.5.6我使用Unlocker3.0.3我使用MacOS10.14.6最近有个需求,ios应用自动打包win10镜像地址ed2k://|file|cn_windows_10_multip
2020-09-03 21:15:44
3369
原创 windows安装nginx注册为服务的正确姿势 并设置开机自启 实践笔记
windows安装nginx注册为服务的正确姿势 并设置开机自启 实践笔记我使用windows10专业版1909我使用nginx-1.18.01.下载想要的官方nginx版本(如果只用nginx1.18.0这个版本,直接看第二步)2.下载打包好的nginx注册服务压缩包3.解压第二步的压缩包4.注册nginx为windows服务(默认配置为自动延迟启动)5.升级nginx我使用windows10...
2020-05-06 19:28:53
10406
原创 Centos7下Oracle 11g r2 本地/远程 用exp/imp命令快速导入导出数据 实践笔记
title: Centos7下Oracle 11g r2 本地/远程 用exp/imp命令快速导入导出数据 实践笔记categories: [Centos7,Oracle11g]tags: [Centos7,Oracle11g]oracle导入导出不像mysql那么方便,这边记录下oracle本地/远程导入导出(imp/exp)实践过程【用 exp 数 据 导 出】:1. 将数据库TE...
2018-09-20 12:14:38
4426
原创 Centos 7 在线安装 离线安装 最新 Docker-compose 的正确姿势 实践笔记
参考:docker-compose官方文档系统:Centos 7 64bit还没装docker的,先移步安装官方最新docker1.下载当前最新版本docker-composecurl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /us...
2018-09-07 15:07:09
4102
原创 Centos7 安装 Tomcat8 的正确姿势 并设置开机自启 实践笔记
我使用centos7X64最小化安装 CentOS-7-x86_64-Minimal-1708没装jdk的同学,请移步【centos7 安装 jdk8 的正确姿势 并设置开机自启】的文章1.配置防火墙: 关闭防火墙和加入放行端口二选一1.1 直接关闭防火墙systemctl stop firewalld.service #停止firewallsystemctl dis...
2018-06-20 14:55:40
7171
2
原创 Docker安装官方Redis镜像并启用密码认证 实践笔记
参考:docker官方redis文档1.有特殊版本需求的可以查看redis镜像tag版本3.2.11, 3.2, 3 (3.2/Dockerfile)3.2.11-32bit, 3.2-32bit, 3-32bit (3.2/32bit/Dockerfile)3.2.11-alpine, 3.2-alpine, 3-alpine (3.2/alpine/Dockerfile)...
2018-06-18 20:11:25
16748
2
原创 真实场景:防止缓存穿透 —— 使用 Redisson 布隆过滤器
电商系统如何防止缓存穿透?使用Redisson布隆过滤器可以有效拦截无效查询。当用户请求不存在的数据时,传统方法如缓存空对象或限流效果有限。布隆过滤器通过在Redis中存储所有合法商品ID的位图,能在O(1)时间内判断请求ID是否可能存在。系统启动时加载有效ID到布隆过滤器,查询时先检查该过滤器:若不存在则直接拦截,存在则继续查缓存或数据库。这种方案能阻挡大量无效请求,保护数据库免受穿透攻击,具有高性能、低内存和分布式支持等优势。虽然存在少量误判可能,但不会影响系统整体性能。
2025-11-05 14:31:25
549
原创 Redisson框架中布隆过滤器
Redisson框架提供的布隆过滤器是一种基于Redis实现的概率型数据结构,用于高效判断元素是否存在。它具有"可能存在"(可能有误判)和"绝对不存在"的特点,适用于缓存穿透防护、URL去重等场景。Redisson封装了Redis布隆过滤器功能,支持设置预期插入量和误判率,使用位图和哈希函数实现。示例代码展示了初始化和基本操作,但需注意布隆过滤器不支持删除操作、只能初始化一次,且更适合读多写少的大规模数据场景。该技术能有效降低无效查询,适合分布式环境下的共享过滤需求。
2025-11-05 14:30:02
578
原创 Spring Boot 项目示例,展示如何使用 Redisson 布隆过滤器来防止 缓存穿透
本文介绍了一个基于布隆过滤器的电商系统商品查询优化方案。通过在查询前使用布隆过滤器判断商品ID是否存在,有效避免了无效ID直接访问缓存/数据库,提升了系统稳定性。技术实现上采用Spring Boot框架,集成Redisson客户端实现分布式布隆过滤器,并模拟了商品数据和缓存查询逻辑。核心代码包含Redisson配置、商品服务、布隆过滤器初始化与管理等模块,其中布隆过滤器初始化时可设置预期商品数量和误判率参数。该方案能显著减少无效查询请求,特别适用于商品ID范围大但活跃商品相对有限的电商场景。
2025-11-05 14:23:43
602
1
原创 Java + Spring Boot + Redis技术栈,在实际使用缓存时遇到 缓存击穿、缓存穿透、缓存雪崩
摘要: 本文针对Java+Spring Boot+Redis技术栈中常见的缓存问题(击穿、穿透、雪崩),提供了具体场景分析和解决方案。缓存击穿通过分布式锁或逻辑过期解决热点key失效问题;缓存穿透采用布隆过滤器或空对象缓存拦截无效请求;缓存雪崩通过随机过期时间、多级缓存和Redis高可用避免集体失效。文中包含Redisson锁、Caffeine本地缓存等代码示例,并建议结合监控、预热和限流增强系统稳定性。(149字)
2025-11-04 16:35:42
1506
1
原创 缓存击穿,缓存穿透,缓存雪崩的原因和解决方案(或者说使用缓存的过程中有没有遇到什么问题,怎么解决的)
缓存三大问题及解决方案 一、缓存穿透 问题:查询不存在数据时请求直达数据库,可能导致DB崩溃 解决方案:缓存空值(短时间过期)或使用布隆过滤器(如Redisson实现) 二、缓存雪崩 问题:大量缓存同时失效导致DB瞬时压力过大 解决方案:给缓存过期时间增加随机值(如1-5分钟随机) 三、缓存击穿 问题:热点key失效后突发高并发请求压垮DB 解决方案:使用分布式锁(Redis setnx或Zookeeper实现)
2025-11-04 16:17:00
934
原创 Redis数据和MySQL数据库的一致性如何实现
本文探讨了如何在分布式系统中保证Redis缓存与MySQL数据库的数据一致性。首先分析了Redis与MySQL的异构特性,指出二者无法天然保持强一致性,通常采用最终一致性策略。接着介绍了四种常见方案:Cache Aside(旁路缓存)、Write Through(写穿透)、Read Through(读穿透)和双删策略,详细说明了其优缺点及适用场景。文章还提出了进阶方案,如基于Binlog的同步和事务机制,并提供了最佳实践建议,包括优先使用Cache Aside模式、设置合理TTL等。最后以Python和Ja
2025-11-04 15:53:08
864
原创 使用 Redis + Lua 脚本实现【秒杀库存扣减】
Redis + Lua 实现高并发原子库存扣减 在秒杀等高并发场景下,传统"查询+扣减"两步操作会导致超卖问题。使用Redis的Lua脚本可将这两个操作合并为原子操作: Lua脚本核心逻辑: 检查库存是否>0 原子性执行DECR扣减 返回1(成功)/0(失败) 推荐使用EVALSHA: 先SCRIPT LOAD缓存脚本 通过SHA1摘要高效执行 优势: 完全原子性操作 避免网络往返延迟 相比事务更灵活高效 该方法同样适用于优惠券发放、积分扣减等需要原子操作的场景。
2025-11-04 15:14:33
1516
原创 Redis有事务吗,和关系型如mysql数据库事务有什么区别
Redis事务通过MULTI、EXEC命令实现,将多个命令打包顺序执行,保证原子性和隔离性。事务中的命令会先缓存在队列中,EXEC时统一执行,不受其他命令干扰。但与关系型数据库不同,Redis事务不支持回滚机制,即使部分命令失败也不影响后续执行。此外,可通过WATCH命令实现乐观锁控制。Redis事务更适用于批量命令执行,而非需要严格ACID的场景。
2025-11-04 15:07:15
808
原创 为什么Redis的操作是原子性的?如何保证原子性的?
Redis 的单个命令操作是原子性的,这得益于其单线程模型(6.0 前完全单线程,6.0 后命令执行仍单线程),确保同一时间只有一个命令执行。Redis 提供了 INCR、SETNX 等原子命令,但多个命令组合(如 GET+SET)并非原子。Redis 事务(MULTI/EXEC)仅保证命令连续执行,不提供回滚机制。要保证多命令原子性,推荐使用 Lua 脚本或 Redis 原生原子命令。Lua 脚本执行是单线程原子的,可实现复杂逻辑的原子操作,而事务适用于批量命令有序执行但不保证全部成功。
2025-11-04 10:19:21
1163
原创 Redis服务器的的内存是多大
Redis内存大小不固定,取决于服务器资源和配置。默认32位系统限制3GB,64位系统无限制。建议通过maxmemory参数设置物理内存的3/4(如0.75),避免耗尽系统资源。可通过config set maxmemory临时调整,或修改配置文件永久生效。使用INFO memory或MEMORY STATS命令可查看内存使用情况。生产环境必须设置内存上限,并配置淘汰策略(如LRU)防止内存溢出。未设置限制时Redis可能占用所有可用内存,存在系统崩溃风险。
2025-11-04 10:12:21
878
原创 Redis为什么是单线程的
Redis采用单线程设计主要基于性能和复杂度考虑:其内存操作速度极快,单线程即可高效处理高并发请求,避免多线程锁竞争和同步开销;同时单线程简化了设计,提升CPU缓存利用率。真正的瓶颈在于内存或网络I/O而非CPU计算。Redis 6.0+虽引入多线程I/O优化网络处理,但核心命令执行仍保持单线程,确保数据一致性。这种架构平衡了简单性、性能和可靠性,特别适合内存密集型操作场景。
2025-11-04 10:02:28
883
原创 mysql 创建了一个联合索引(a,b,c) 生效?where b = 1 and a =1 and c = 1,where b = 1 and c = 1,where a = 1 and c = 1
MySQL联合索引(a,b,c)遵循最左前缀原则,查询条件必须从最左字段开始才能生效。具体分析: a=1 AND b=1 AND c=1:完全生效 a=1 AND c=1:仅a生效(部分生效) b=1 AND c=1:不生效 b=1 AND a=1 AND c=1:优化器调整顺序后会完全生效 总结:要让联合索引完全生效,查询条件必须包含最左字段a,并按索引顺序连续使用字段。
2025-11-04 09:25:30
704
原创 MyISAM和InnoDB的区别
MySQL的MyISAM和InnoDB是两种主要存储引擎,核心区别在于:InnoDB支持事务、行级锁、外键和崩溃恢复,适合高并发写操作;MyISAM仅支持表级锁,查询性能高但不支持事务,适合读密集型场景。MySQL 5.5+版本默认使用InnoDB,因其在数据安全性、并发处理方面的优势。选择引擎需根据业务需求:事务处理选InnoDB,只读或分析型应用可考虑MyISAM。可通过ALTER TABLE命令修改表的存储引擎类型。
2025-10-24 10:08:58
478
原创 悲观锁和乐观锁是什么,要不要用,一般在项目里怎么用
本文详细对比了悲观锁和乐观锁的核心思想、适用场景及实现方式。悲观锁采用"先加锁后操作"策略,适合高并发写冲突场景(如库存扣减),通过SELECT...FOR UPDATE实现。乐观锁采用无锁设计,通过版本号校验更新数据,适合读多写少场景(如点赞数)。文章提供了具体SQL示例和代码实现,并总结两者的优缺点及典型应用场景。建议根据业务冲突频率选择:冲突多用悲观锁,冲突少用乐观锁。
2025-10-24 10:06:37
502
原创 mysql事务的并发问题(三大典型问题)
事务并发执行可能出现三大问题:1)脏读(读取未提交事务的无效数据);2)不可重复读(同一事务内多次读取同一数据结果不同);3)幻读(同一事务内相同范围查询返回不同结果集)。MySQL通过四种隔离级别解决这些问题:读未提交(问题最多)、读已提交(解决脏读)、可重复读(默认级别,通过MVCC+间隙锁解决脏读和不可重复读,并有效控制幻读)、串行化(完全解决所有问题但性能最差)。建议根据业务需求选择合适的隔离级别,MySQL默认的可重复读已能良好处理大多数并发场景。
2025-10-23 11:58:17
471
原创 简述MySQL事务
MySQL事务是保证数据一致性的重要机制,具有ACID特性(原子性、一致性、隔离性、持久性)。InnoDB引擎支持事务,而MyISAM不支持。使用事务时,通过START TRANSACTION/BEGIN开启,COMMIT提交或ROLLBACK回滚。MySQL默认隔离级别为REPEATABLE READ,可防止脏读和不可重复读,并通过MVCC解决幻读问题。事务适用于银行转账、订单处理等需要原子性操作的场景。可通过设置autocommit关闭自动提交,使用SAVEPOINT实现部分回滚。选择正确的存储引擎和隔
2025-10-23 11:57:04
798
原创 Select 语句完整的执行顺序
SQL查询语句的逻辑执行顺序与书写顺序不同。关键执行步骤为:1) FROM确定数据来源;2) WHERE进行初步过滤;3) GROUP BY分组;4) HAVING过滤分组结果;5) SELECT选择返回列;6) ORDER BY排序;7) LIMIT限制返回行数。理解这一顺序有助于编写高效SQL,如尽量在WHERE中过滤无效数据,减少后续处理量。注意SELECT列别名只能在ORDER BY中使用,而不能用于WHERE/HAVING等前置子句。
2025-10-23 09:18:30
657
原创 当面试官问到 “MySQL 数据量大,速度慢怎么办?
有举例说明,MySQL大数据量查询优化方案 针对MySQL数据量大导致查询变慢的问题,可从以下五方面进行优化: SQL与索引优化:优先分析慢查询,通过EXPLAIN检查执行计划,优化SQL写法,合理使用索引,避免全表扫描和低效操作。 表结构优化:选择合适的数据类型,权衡规范化与反规范化,必要时采用分区表策略。 配置调优:调整关键参数如innodb_buffer_pool_size等,提升数据库性能。 硬件升级:增加内存、使用SSD、提升CPU性能。 架构扩展:超大数据量时,考虑分库分表、读写分离、缓存机制
2025-10-22 18:14:11
773
原创 Spring中常用的设计模式
Spring 框架中广泛应用了多种设计模式,包括控制反转(IoC)、工厂模式(BeanFactory)、单例模式(默认Bean作用域)、代理模式(AOP实现)、模板方法模式(JdbcTemplate)、观察者模式(事件机制)、适配器模式(HandlerAdapter)、策略模式(事务管理)等。这些模式通过注解如@Autowired、@Service和核心类如ApplicationContext、JdbcTemplate等实现,帮助开发者解耦代码、简化开发。Spring通过设计模式的巧妙运用,提供了灵活、可扩
2025-10-22 15:56:36
1270
原创 谈谈你对Spring的理解
Spring 是一个开源的轻量级 Java 开发框架,由 Rod Johnson 创建,旨在简化企业级应用开发。其核心理念是通过控制反转(IoC)和依赖注入(DI)管理对象生命周期,降低耦合度;通过面向切面编程(AOP)实现日志、事务等横切关注点的模块化。Spring 采用模块化设计,包含核心容器、Web MVC、数据访问、安全等组件,并衍生出 Spring Boot(快速开发)、Spring Cloud(微服务)等生态。优势包括非侵入式设计、丰富的功能集成、强大的社区支持,适用于Web服务、数据库交互、微
2025-10-22 15:23:37
661
原创 如何查看java死锁?具体怎么做,怎么避免
Java死锁检测与解决方法摘要 死锁是多个线程因争夺资源陷入互相等待的状态。检测方法: jstack:命令行工具,通过jstack <PID>查看线程dump,搜索deadlock关键词。 jconsole/VisualVM:图形化工具直观检测线程状态。 ThreadMXBean:编程方式调用findDeadlockedThreads()主动检测。 避免死锁: 按固定顺序获取锁(如统一先A后B)。 使用ReentrantLock.tryLock()设置超时。 缩小同步代码范围,减少嵌套锁。 使用
2025-10-22 14:44:17
1070
原创 我的应用 Full GC 频繁,怎么优化?
摘要:Full GC频繁会导致应用卡顿和性能下降。常见原因包括老年代空间不足、元空间溢出、显式调用System.gc()、分配担保失败、内存泄漏及GC配置不当。解决方法需通过监控GC日志、分析堆转储、优化内存分配和选择合适的垃圾收集器(如G1 GC)。关键步骤包括:开启GC日志(jstat)、生成堆转储(jmap)、使用MAT等工具分析内存泄漏,并调整JVM参数(-Xmx, -Xmn等)。最终目标是减少Full GC次数,提升应用性能。
2025-10-22 14:41:07
1029
原创 简述java内存分配与回收策略以及Minor GC和Major GC(full GC)
Java 内存管理与垃圾回收(GC)机制是JVM自动完成的,但开发者需了解内存分配策略和GC类型。对象优先在Eden区分配,大对象直接进入老年代,长期存活对象通过年龄阈值晋升。GC分为Minor GC(新生代回收,频繁快速)、Major GC(老年代回收,较慢)和Full GC(全堆回收,影响大)。不同垃圾收集器(如Serial、CMS、G1)采用不同算法优化性能。合理的内存分配和GC调优可减少Full GC,提升应用性能。工具如jstat、GC日志等可辅助分析优化。
2025-10-22 14:39:31
1488
原创 如何预估一个系统的QPS?
摘要: QPS(每秒查询数)是系统设计中的关键指标,用于评估吞吐能力。预估方法包括:1)基于业务场景,通过日活用户(DAU)和请求频率计算;2)通过历史数据分析峰值QPS;3)参考行业经验类比。QPS受请求复杂度、系统架构、响应时间等因素影响,与并发数的关系可通过Little's Law量化。建议结合压测工具验证,并按峰值QPS的1.5-3倍规划冗余,辅以自动扩缩容和降级策略提升系统弹性。
2025-10-22 09:22:07
1246
原创 什么是QPS,什么是RT?
QPS(每秒查询数)和RT(响应时间)是衡量系统性能的两个核心指标。QPS反映系统吞吐能力,计算为总请求数除以总时间;RT衡量请求处理耗时,常关注P99等百分位数据。两者存在数学关系:并发数≈QPS×RT。实际应用中,需通过压测评估系统容量,监控QPS、RT和错误率,并针对不同场景优化,如提升QPS可引入缓存、优化数据库,降低RT需减少IO操作和网络延迟。健康系统应在目标QPS下保持RT稳定,当RT非线性增长时往往意味着资源瓶颈。
2025-10-22 09:20:33
882
原创 Xshell效率实战:SSH管理秘籍
Xshell效率实战:SSH管理秘籍 Xshell作为专业终端模拟器,能显著提升SSH管理效率。通过会话模板、多标签页和SSH密钥实现快速连接;利用脚本录制、命令别名和Xftp集成简化重复操作;结合日志记录、主题优化和高级过滤增强安全性与体验。实战场景如批量检查服务状态、紧急修复Bug,均可通过自动化流程快速完成,实现高效运维。掌握这些技巧,让SSH管理从基础连接到智能操作全面升级。
2025-10-22 09:19:28
930
原创 没有K8S,没有容器化,小团队,灰度发布、蓝绿部署、金丝雀部署,对你们适用吗?
本文针对中小型技术团队(10人左右,未容器化)提出了轻量级的发布策略实施方案。核心建议是采用简化的灰度发布方式,通过Nginx分流、功能开关、用户白名单等手段控制新版本发布范围,逐步验证稳定性后再全量上线。相比复杂的Kubernetes方案,这些方法更贴合中小团队技术现状,既能降低发布风险,又无需额外基础设施投入。文中还对比了灰度发布、蓝绿部署和金丝雀发布的适用场景,推荐优先选择实现成本低、灵活性高的灰度策略,配合基础监控工具快速发现问题并回滚。这种渐进式发布模式特别适合发布频率不高但追求稳定性的核心业务系
2025-10-20 16:59:35
907
原创 灰度发布、蓝绿部署、金丝雀部署都是什么?你们公司需要用到吗?怎么用的
灰度发布、蓝绿部署和金丝雀部署是三种降低软件发布风险的策略。灰度发布通过逐步推送新版本给部分用户;蓝绿部署维护两套环境实现快速切换;金丝雀部署强调小范围测试后再推广。三者适用于不同场景:灰度发布适合核心业务,蓝绿部署适合容器化服务,金丝雀部署则用于严格风险控制。实际应用中,可根据业务需求选择合适策略,通常结合Kubernetes、服务网格等技术实现。这些方法能显著提升发布的稳定性和安全性。
2025-10-20 16:54:33
1317
原创 统计最近一天活跃的 user:key 有多少,不考虑登录日志
文章摘要:Redis原生不支持记录key的访问时间,要统计"最近一天活跃的user:key"需要额外实现。推荐两种方案:1)业务代码主动记录访问时间到ZSET(推荐),通过ZADD更新访问时间戳,ZCOUNT统计活跃用户;2)利用Keyspace Notifications监听访问事件(较复杂)。第一种方案实现简单、精准可控,只需在每次访问user:key时同步更新ZSET中的时间戳,即可快速查询24小时内活跃用户。这是最可靠的解决方案。(148字)
2025-10-20 16:16:10
789
解压后,navicat的oci.dll指向压缩包的,最好不要放在中文路径下,比如放在d:/develop下 oracle 11g oracle 10g 亲测可用
2025-08-01
oci-oracle11g.dll.zip
2020-05-07
nginx-1.18.0-带注册服务.zip
2020-05-06
vmware-macos.txt.zip
2020-09-03
docker-compose
2020-11-17
Navicat Premium_11.2.7简体中文版.zip
2021-05-07
apache-tomcat-8.5.34注册服务包.zip
2021-01-07
docker-redis-cluster-master.tar.gz 集群
2020-05-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅