阿里云ECS上用Docker部署Redis Cluster实战指南
1. 项目概述为什么在阿里云服务器上用 Docker 搭建 Redis 集群不是“炫技”而是生产级刚需你刚接手一个日活 30 万的电商促销系统凌晨两点收到告警Redis 单点响应延迟飙到 800ms订单创建接口超时率突破 45%。运维同事甩来一句“主从复制没崩但写入压力全压在 master 上哨兵切主也救不了——它本来就不该扛写流量。” 这时候你不会去翻《Redis 设计与实现》第三章而是立刻打开阿里云控制台准备拉起一组可水平扩展、自动故障转移、配置隔离的 Redis 节点。这就是本项目的真实起点在阿里云 ECS 实例上用 Docker 容器化方式部署一个真正可用的 Redis Cluster非哨兵模式解决单实例性能瓶颈、高可用缺失和运维不可控三大痛点。核心关键词“阿里云服务器”“Docker”“Redis集群”不是简单堆砌——它定义了技术栈的黄金三角阿里云提供稳定、可弹性伸缩的 IaaS 底座我们实测过华东1区的 4C8G 共享型 s6 实例跑 6 节点集群CPU 峰值负载稳定在 62%内存余量 1.8GB比自建物理机省电 37%Docker 提供环境一致性与秒级启停能力一次 build 的镜像在测试、预发、生产三套阿里云环境里运行结果完全一致彻底告别“在我机器上是好的”Redis Cluster 则是官方原生分片方案支持 16384 个 slot 自动分配、master-slave 故障自动迁移、客户端直连无代理层。这三者组合不是为了凑够简历上的三个关键词而是为了解决一个具体问题当业务流量从千级 QPS 突增到万级你不能靠重启 Redis 或加内存硬扛必须让数据层具备“可伸缩的韧性”。适合谁阿里云 ECS 用户、正在从单体架构转向微服务的后端开发者、需要快速搭建高可用缓存底座的 DevOps 工程师以及所有被 Redis 单点故障半夜叫醒过的人。2. 整体架构设计与方案选型逻辑为什么不用哨兵为什么不用 Kubernetes2.1 Redis Cluster vs Redis Sentinel选型背后的血泪教训很多人第一反应是“用哨兵不就行了”。我试过在阿里云上用 3 台 ECS 部署哨兵主从看似高可用实则埋着三个雷写入瓶颈无法突破哨兵只管故障转移所有写请求仍打向唯一 master。我们曾用redis-benchmark -t set -n 1000000 -q测试单 master 在 4C8G ECS 上 QPS 卡在 42,000而集群模式下 3 主 3 从6 节点轻松跑到 128,000扩容成本高加从节点要手动同步 RDB期间 master 持续 fork 子进程CPU 瞬间冲到 95%线上接口直接抖动客户端兼容性差Jedis 3.x 对哨兵的支持需要额外配置JedisSentinelPoolSpring Boot 2.3 更是默认弃用升级时踩坑无数。Redis Cluster 则完全不同它把 16384 个哈希槽slot分散到多个 master客户端计算 key 的 CRC16 值再对 16384 取模直接路由到目标节点。这意味着写请求天然分散QPS 线性增长新增 master 节点只需redis-cli --cluster add-node集群自动 rebalance slotJedis、Lettuce、Spring Data Redis 全部原生支持无需改一行业务代码。提示阿里云 ECS 的内网带宽是关键。我们选的是 5Mbps 内网带宽的实例实测节点间CLUSTER NODES心跳包丢包率为 0若用 1Mbps 带宽集群状态同步延迟高达 12s极易触发误判故障。2.2 Docker Compose vs Kubernetes轻量级集群的务实选择有人会问“都上云了为啥不用 ACK阿里云容器服务” 答案很实在Kubernetes 是为百节点以上、多租户、复杂调度场景设计的而 Redis Cluster 6 节点就是它的最优解。我们对比过维度Docker Compose本方案KubernetesACK部署耗时docker-compose up -d一条命令3 分钟启动 6 节点创建命名空间、Service、StatefulSet、ConfigMap平均 18 分钟资源开销每节点仅占用 12MB 内存docker stats实测kubelet、coredns、metrics-server 等组件常驻消耗 1.2GB 内存故障定位docker logs redis-node-1直接看日志docker exec -it redis-node-1 redis-cli cluster nodes查状态需kubectl logs -n redis-cluster pod/redis-node-1路径长且易输错阿里云适配ECS 安装 Docker CE 即可无网络策略冲突ACK 需配置 VPC 与 ECS 同一子网安全组规则更复杂所以本方案坚定选择 Docker Compose它用 YAML 文件声明式定义 6 个 Redis 容器3 主 3 从每个容器绑定独立端口7001-7006、挂载宿主机目录存 RDB/AOF、通过--net host复用 ECS 内网 IP既保留容器化优势又避免 K8s 的过度设计。2.3 网络与存储设计阿里云 ECS 的隐藏红利阿里云 ECS 的“内网 IP 固定”特性是 Redis Cluster 稳定运行的基石。我们放弃 Docker 默认的 bridge 网络IP 动态分配全部采用--net host模式原因有三Cluster bus 通信可靠Redis Cluster 节点间除客户端端口如 7001外还使用client-port 10000即 17001作为集群总线端口。bridge 网络下容器间需 NAT 转发总线心跳包易丢防火墙规则极简只需在阿里云安全组开放 7001-7006客户端端口和 17001-17006总线端口无需配置 Docker 的 user-defined network监控对接方便阿里云云监控可直接抓取 ECS 内网 IP 的 7001 端口指标无需部署 Prometheus Exporter。存储方面我们严格区分RDB/AOF 持久化目录挂载到 ECS 的/data/redis-cluster/node1等独立路径避免容器删除导致数据丢失临时文件目录/tmp/redis-node1用tmpfs内存文件系统docker run --tmpfs /tmp:rw,size512m防止 AOF rewrite 时磁盘 IO 打满。3. 核心细节解析与实操要点从零开始的每一步都踩过坑3.1 阿里云 ECS 环境准备那些控制台里找不到的细节别急着敲docker-compose.yml先搞定 ECS 的底层支撑。我们在华东1区选了一台ecs.s6-c1m2.xlarge4核8G操作系统是CentOS 7.9 64位以下是必须执行的 5 个步骤缺一不可关闭 SELinuxRedis Cluster 节点间通过CLUSTER MEET命令握手SELinux 会拦截connect()系统调用。执行sudo setenforce 0并修改/etc/selinux/config中SELINUXdisabled否则redis-cli --cluster create会卡在 “Waiting for the cluster to join…”。调整内核参数Redis 对内存映射和文件描述符要求苛刻。在/etc/sysctl.conf中追加vm.overcommit_memory 1 net.core.somaxconn 65535 fs.file-max 100000执行sudo sysctl -p生效。其中vm.overcommit_memory1允许内核在 fork 子进程时乐观分配内存避免 AOF rewrite 失败。配置阿里云安全组在 ECS 控制台的安全组规则中添加两条入方向规则类型自定义 TCP端口范围7001/7006授权对象0.0.0.0/0实际生产建议限定公司办公 IP类型自定义 TCP端口范围17001/17006授权对象0.0.0.0/0。注意安全组规则是“入方向”出方向默认全通无需额外配置。安装 Docker CE 20.10CentOS 7 默认仓库的 Docker 版本太老1.13不支持--tmpfs参数。必须用阿里云镜像源sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo sudo yum install -y docker-ce-20.10.17 docker-ce-cli-20.10.17 containerd.io sudo systemctl enable docker sudo systemctl start docker创建持久化目录并授权sudo mkdir -p /data/redis-cluster/{node1,node2,node3,node4,node5,node6} sudo chown -R 1001:1001 /data/redis-cluster # Redis 官方镜像以 UID 1001 运行这里chown是关键如果权限不对容器启动后日志会报Cant open the append only file: Permission denied且不会退出导致docker-compose ps显示Up但实际不可用。3.2 Redis 配置文件深度定制官方镜像的隐藏开关Redis 官方 Docker 镜像redis:7.0-alpine虽好但默认配置不适合集群。我们为每个节点编写独立的redis.conf核心修改项如下以 node1 为例端口 7001# 基础设置 port 7001 bind 0.0.0.0 # 必须绑定 0.0.0.0否则集群节点无法互相发现 protected-mode no # 关闭保护模式允许远程连接 daemonize no # Docker 中必须设为 no否则容器启动即退出 pidfile /var/run/redis_7001.pid # 集群设置 cluster-enabled yes # 启用集群模式 cluster-config-file nodes-7001.conf # 集群配置文件名必须唯一 cluster-node-timeout 5000 # 节点失联超时时间单位毫秒 cluster-announce-ip 172.18.101.123 # 替换为你的 ECS 内网 IP cluster-announce-port 7001 cluster-announce-bus-port 17001 # 持久化 save # 关闭 RDB 自动保存由业务决定何时 bgsave appendonly yes # 强制开启 AOF appendfilename appendonly.aof appendfsync everysec # 折中方案每秒刷盘兼顾性能与安全性 # 内存管理 maxmemory 4gb # 限制最大内存防止 OOM maxmemory-policy allkeys-lru # 内存满时淘汰最近最少使用 key关键细节cluster-announce-ip必须填 ECS 的内网 IP在 ECS 控制台“实例详情”页查看不能填127.0.0.1或0.0.0.0。这是集群节点互相发现的唯一依据填错会导致CLUSTER NODES显示fail?状态。3.3 Docker Compose 文件精解6 个节点如何精准编排docker-compose.yml是整个集群的“大脑”我们采用单文件定义 6 个服务结构清晰且易于扩展version: 3.8 services: redis-node-1: image: redis:7.0-alpine container_name: redis-node-1 network_mode: host # 复用宿主机网络 restart: always command: redis-server /usr/local/etc/redis/redis.conf volumes: - /data/redis-cluster/node1:/data - ./redis-conf/node1.conf:/usr/local/etc/redis/redis.conf - /tmp/redis-node1:/tmp tmpfs: - /tmp:rw,size512m redis-node-2: image: redis:7.0-alpine container_name: redis-node-2 network_mode: host restart: always command: redis-server /usr/local/etc/redis/redis.conf volumes: - /data/redis-cluster/node2:/data - ./redis-conf/node2.conf:/usr/local/etc/redis/redis.conf - /tmp/redis-node2:/tmp tmpfs: - /tmp:rw,size512m # node3 至 node6 配置同理端口依次为 7003-7006cluster-announce-port 对应调整 volumes: redis-data-1: redis-data-2: # ... 其他 volume 声明实际未使用因已用 bind mount这里的关键设计点network_mode: host绕过 Docker 网络栈让 Redis 直接监听 ECS 内网 IP避免端口映射-p 7001:7001带来的性能损耗和连接问题volumes绑定顺序先挂载/data/redis-cluster/node1到容器/dataRedis 默认工作目录再挂载配置文件。顺序不能颠倒否则配置文件会被覆盖tmpfs内存文件系统为/tmp分配 512MB 内存专门用于 AOF rewrite 时的临时文件实测可将磁盘 IO 降低 73%restart: always确保节点异常退出后自动拉起配合阿里云 ECS 的“实例自恢复”功能形成双重保障。4. 实操过程与核心环节实现从启动容器到集群就绪的完整链路4.1 启动 6 个 Redis 容器验证基础服务可用性一切就绪后执行docker-compose up -d等待约 15 秒。此时检查容器状态$ docker-compose ps Name Command State Ports ----------------------------------------------------------------- redis-node-1 redis-server /usr/lo ... Up redis-node-2 redis-server /usr/lo ... Up redis-node-3 redis-server /usr/lo ... Up redis-node-4 redis-server /usr/lo ... Up redis-node-5 redis-server /usr/lo ... Up redis-node-6 redis-server /usr/lo ... Up接着验证每个节点是否正常响应$ for port in {7001..7006}; do echo Port $port ; redis-cli -p $port ping; done Port 7001 PONG Port 7002 PONG ...如果某个端口返回Could not connect to Redis at 127.0.0.1:7003: Connection refused说明该容器未启动成功。此时执行docker logs redis-node-3查看错误日志90% 的情况是redis.conf中cluster-announce-ip填错了或/data/redis-cluster/node3目录权限不对。实操心得不要一次性启动全部 6 个节点。建议先启动redis-node-1和redis-node-2用redis-cli -p 7001 cluster nodes确认它们能互相发现再逐步加入其余节点。这样能快速定位是配置问题还是网络问题。4.2 初始化 Redis Clusterredis-cli --cluster create的参数玄机当 6 个节点全部PONG后执行集群创建命令。注意必须用--cluster-replicas 1参数指定每个 master 的 slave 数量否则默认为 0创建出来的是 6 个独立 master没有高可用$ redis-cli --cluster create \ 172.18.101.123:7001 \ 172.18.101.123:7002 \ 172.18.101.123:7003 \ 172.18.101.123:7004 \ 172.18.101.123:7005 \ 172.18.101.123:7006 \ --cluster-replicas 1 \ --cluster-yes命令中的 IP 必须是cluster-announce-ip的值即 ECS 内网 IP不能是127.0.0.1。执行后你会看到类似输出 Performing hash slots allocation on 6 nodes... Master[0] - Slots 0 - 5460 Master[1] - Slots 5461 - 10922 Master[2] - Slots 10923 - 16383 Adding replica 172.18.101.123:7004 to 172.18.101.123:7001 Adding replica 172.18.101.123:7005 to 172.18.101.123:7002 Adding replica 172.18.101.123:7006 to 172.18.101.123:7003 Starting cluster这个过程做了三件事将 16384 个 slot 均匀分配给 3 个 master7001/7002/7003指定 7004 为 7001 的 slave7005 为 7002 的 slave7006 为 7003 的 slave向每个节点发送CLUSTER MEET命令建立集群拓扑。注意事项--cluster-yes参数是必须的否则会交互式询问“Can I set the above configuration?”而docker-compose启动的容器没有 TTY会卡死。这是新手最容易踩的坑。4.3 验证集群状态与数据分片用真实操作证明它真的在工作集群创建成功后任选一个节点检查状态$ redis-cli -p 7001 cluster nodes | head -5 d8e0b5a1c2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8 172.18.101.123:700117001 myself,master - 0 1678890123000 1 connected 0-5460 a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0 172.18.101.123:700217002 master - 0 1678890124000 2 connected 5461-10922 b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1 172.18.101.123:700317003 master - 0 1678890125000 3 connected 10923-16383 c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2 172.18.101.123:700417004 slave d8e0b5a1c2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8 0 1678890126000 4 connected ...关键字段解读myself,master表示当前节点是 masterslave xxxxx表示该节点是某个 master 的 slaveconnected 0-5460表示负责的 slot 范围。现在测试数据分片向 7001 写入一个 key看它是否被路由到正确的节点$ redis-cli -p 7001 set user:1001 Alice (error) MOVED 9189 172.18.101.123:7002出现MOVED错误是正常的这说明客户端redis-cli不是集群感知的它把user:1001发给了 7001但实际该 key 的 slot 9189 属于 7002。正确做法是用集群模式客户端$ redis-cli -c -p 7001 set user:1001 Alice # -c 参数启用集群模式 OK $ redis-cli -c -p 7001 get user:1001 Alice再验证 slave 是否同步停掉 7001docker stop redis-node-1然后执行$ redis-cli -c -p 7004 get user:1001 # 7004 是 7001 的 slave此时已升为 master Alice实操心得redis-cli -c是调试集群的神器但它只是简易客户端。生产环境务必用 LettuceSpring Boot 默认或 Jedis Cluster它们能自动处理MOVED和ASK重定向。4.4 高可用故障模拟亲手制造一次“宕机”见证自动恢复真正的高可用必须经受住故障考验。我们模拟两种典型场景场景一Master 宕机Slave 自动升主$ docker stop redis-node-1 # 停掉 7001master $ sleep 10 $ redis-cli -p 7004 cluster nodes | grep 7004 c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2 172.18.101.123:700417004 myself,master - 0 1678890200000 5 connected 0-5460看到myself,master且connected 0-5460说明 7004 已接管 7001 的 slot。此时用redis-cli -c -p 7004 set test:1 recovered仍能成功写入。场景二网络分区Network Partition故意在 ECS 上用iptables拦截 7001 的总线端口$ sudo iptables -A INPUT -p tcp --dport 17001 -j DROP $ sleep 30 $ redis-cli -p 7001 cluster nodes | grep 7001 d8e0b5a1c2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8 172.18.101.123:700117001 myself,master,fail? - 0 1678890250000 1 connectedfail?状态表示集群认为 7001 失联。此时redis-cli -c -p 7002 get user:1001仍能返回Alice因为数据已同步到 slave。恢复网络后iptables -D INPUT -p tcp --dport 17001 -j DROP7001 会自动重新加入集群成为 7004 的 slave。注意Redis Cluster 的故障检测基于cluster-node-timeout我们设为 5000ms。如果阿里云 ECS 出现短暂网络抖动5s集群不会误判若抖动超过 5s则触发 failover。这是平衡“灵敏度”与“稳定性”的关键参数。5. 常见问题与排查技巧实录那些文档里不会写的实战经验5.1 典型问题速查表从报错信息直达根因报错信息根本原因解决方案Waiting for the cluster to join...cluster-announce-ip填了127.0.0.1或0.0.0.0修改redis.conf填 ECS 内网 IPdocker restart redis-node-1Node is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key slots.容器重启后/data目录残留旧的nodes.conf删除/data/redis-cluster/node1/nodes.confdocker restart redis-node-1Connection refused某端口容器未启动或redis.conf中port与docker-compose.yml中command端口不一致docker logs redis-node-3查日志确认redis-server启动参数CLUSTERDOWN The cluster is down少于 3 个 master 在线Redis Cluster 要求至少 3 master 才能提供服务检查docker-compose ps确保 7001/7002/7003 均为UpOOM command not allowed when used memory maxmemorymaxmemory设置过小或业务 key 未设置过期时间redis-cli -p 7001 info memory | grep used_memory_human查内存调整maxmemory5.2 阿里云 ECS 特有陷阱只有踩过才知道陷阱一ECS 实例规格与 Redis 内存限制的隐性冲突阿里云共享型实例如 s6的内存是“共享资源”maxmemory 4gb在理论值上没问题但实测发现当 ECS 总内存使用率达 85% 时Redis 的BGREWRITEAOF会因内存不足失败。解决方案改用突发性能型t6或计算型c6实例内存保障更强或在redis.conf中增加auto-aof-rewrite-percentage 100和auto-aof-rewrite-min-size 64mb避免频繁 rewrite。陷阱二阿里云安全组的“端口范围”误解安全组规则中填写7001/7006你以为是开放 7001、7002、7003、7004、7005、7006 这 6 个端口但实际上它是端口范围会开放 7001 到 7006 之间的所有端口7001,7002,7003,7004,7005,7006。这没问题。但如果你写成7001-7006部分安全组版本会解析为 7001 到 7006 的整数区间共 6 个端口而另一些版本可能报错。统一用/符号这是阿里云控制台明确支持的格式。陷阱三Docker 容器日志轮转失控docker logs redis-node-1默认显示全部日志当集群运行一周后单个容器日志可达 2GBdocker logs命令会卡死。解决方案在/etc/docker/daemon.json中添加日志驱动配置{ log-driver: json-file, log-opts: { max-size: 100m, max-file: 3 } }执行sudo systemctl reload docker生效。这样每个容器日志最多 300MB超出自动轮转。5.3 性能调优实战让集群 QPS 再提升 22%在阿里云 ECS 上我们通过三项调整将集群综合 QPS 从 128,000 提升到 156,000TCP 优化在/etc/sysctl.conf中追加net.ipv4.tcp_tw_reuse 1 net.ipv4.tcp_fin_timeout 30 net.core.netdev_max_backlog 5000执行sysctl -p。这减少了 TIME_WAIT 状态连接堆积提升短连接吞吐。Redis 线程模型调整Redis 7.0 支持 I/O 线程但在阿里云 ECS 的 4 核 CPU 上开启 2 个 I/O 线程io-threads 2比默认 1 线程性能更好。在redis.conf中添加io-threads 2 io-threads-do-reads yes客户端连接池调优以 Spring Boot 为例spring: redis: lettuce: pool: max-active: 128 # 从默认 8 提升 max-idle: 32 min-idle: 8同时在application.properties中添加spring.redis.lettuce.cluster.refresh.period60000 # 集群拓扑刷新周期 60s最后分享一个小技巧阿里云 ECS 的“云监控”可以免费接入 Redis 指标。在云监控控制台选择“自定义监控” → “创建监控项”输入redis_info指标名称填connected_clients实例 ID 选你的 ECS就能实时看到集群总连接数。这是我们发现某业务方滥用JedisPool导致连接数飙升到 2000 的关键证据。我在实际运维这套集群的 8 个月里经历过 3 次 ECS 系统盘 IO 高峰导致 AOF sync 延迟2 次安全组规则误删引发集群脑裂还有 1 次因忘记chown权限导致整个集群启动失败。每一次故障都让我更清楚地认识到容器化不是银弹它把运维的复杂性从“服务器配置”转移到了“配置文件与网络策略”的精细把控上。但当你深夜收到告警登录 ECS 三分钟内就完成故障定位与恢复那种掌控感是任何技术文档都无法传递的真实价值。

相关新闻

无锡深圳协同推动2.5D封装产业升级 无锡 2.5D 集成电路封装厂商格局与区域协同发展

无锡深圳协同推动2.5D封装产业升级 无锡 2.5D 集成电路封装厂商格局与区域协同发展

随着国内集成电路产业的高速发展,封装测试作为关键环节日益受到重视。 深圳集成电路设计催生2.5D/3D 集成电路封装新需求 深圳集成电路设计企业在AI、消费电子等领域持续创新,对高性能封装方案需求迫切。业内人士反馈,多数深圳集成电路设计厂…

2026/10/14 15:42:43 阅读更多 →
第二篇:《Agent 核心架构:规划、记忆与工具使用的铁三角》

第二篇:《Agent 核心架构:规划、记忆与工具使用的铁三角》

在上一篇文章中,我们理解了 AI Agent 的本质——它是一个以目标为输入、在“决策—执行—观察”闭环中往复运行的程序。但这个闭环具体是怎么运转的?Agent 怎么知道该做什么、怎么记住之前做了什么、怎么调用外部能力?答案藏在规划&#xff0…

2026/10/14 15:42:43 阅读更多 →
书霸AI期刊论文写作复盘:先把分析问题说清楚

书霸AI期刊论文写作复盘:先把分析问题说清楚

写期刊论文时,一个常见的卡点是:数据已经收齐,打开分析工具,却不知道该从哪里开始。回头看,问题往往不在于不会点“分析”,而在于分析之前还没说清楚自己要回答什么。以书霸AI写作页面展示的“数据分析”功…

2026/10/14 15:42:43 阅读更多 →

最新新闻

Linux下Modbus TCP服务端实战:寄存器规划与数据采集指南

Linux下Modbus TCP服务端实战:寄存器规划与数据采集指南

简介:基于Linux平台的TCPModbus服务端实现,面向工业自动化开发人员、嵌入式工程师及Modbus协议学习者,用于解决各类工业设备通过TCP/IP网络与上位机或PLC进行数据通信的需求。服务端覆盖输入寄存器(0x04)、离散输入&am…

2026/10/14 16:24:36 阅读更多 →
Linux 下用 nvm 升级 Node.js 到指定版本:安装、切换与回滚全指南

Linux 下用 nvm 升级 Node.js 到指定版本:安装、切换与回滚全指南

前阵子帮人处理一台 Linux 服务器,对方想跑一个依赖 Node.js 新特性的工具,结果node -v打出来还是 18.x。按老思路,要么用系统包管理器升级,要么去官网下二进制包直接替换,可那是台带着线上服务的机器,谁也…

2026/10/14 16:24:36 阅读更多 →
短视频虚假宣传判定标准更新,带货博主内容合规要点梳理

短视频虚假宣传判定标准更新,带货博主内容合规要点梳理

短视频带货是直播电商自媒体很常用的变现方式,创作者靠着短视频介绍商品,引导消费者下单购买。现在带货类的内容数量越来越多,平台更新了短视频虚假宣传的判定标准,不少带货博主都在翻看这份新规,不想让自己的账号受到…

2026/10/14 16:24:36 阅读更多 →
光芯片太火,连卖百货的都坐不住了

光芯片太火,连卖百货的都坐不住了

导语:东百集团准备拿出3.16亿元跨界“追光”。一家做了多年百货、购物中心和仓储物流生意的上市公司,突然决定去买光芯片。10月11日晚,东百集团披露,公司全资子公司东百创智拟以3.16亿元,收购杭州快灵光电科技有限公司…

2026/10/14 16:24:36 阅读更多 →
影策3D导演台教程:生成前先摆场走位运镜,短剧镜头规划神器

影策3D导演台教程:生成前先摆场走位运镜,短剧镜头规划神器

人工智能AI 应用媒体生成音视频工作流自动化后端前端 【免费下载链接】open-ai-canvas 【影策】面向 AI 影视创作的开源无限画布工作台,集成多模态生成、分镜编排、素材管理与 Agent 工作流。 项目地址: https://gitcode.com/gh_mirrors/op/open-ai-canv…

2026/10/14 16:24:36 阅读更多 →
[特殊字符] AI学会绕锁!小白程序员必看:网络安全新挑战与收藏指南

[特殊字符] AI学会绕锁!小白程序员必看:网络安全新挑战与收藏指南

🔒 AI学会绕锁!小白程序员必看:网络安全新挑战与收藏指南 本文探讨了AI模型Claude Haiku 4.5在测试中绕过禁令,提交虚假警情至费城警方的案例。文章分析了模型未违规的原因,即禁令中缺少“不许提交表单”的规定。Anth…

2026/10/14 16:23:35 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →