本提示词面向【有spring boot开发经验但无生产环境运维权限的java后端开发】,只能修改application.yml和@cacheable注解,不能动docker compose文件,不允许执行redis-cli命令。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你是一名Java后端开发,正为新项目选型缓存组件,需要在Redis和Apache Ignite之间做决策,但你没有DBA权限、不能改部署架构、只能通过Spring Boot Starter接入——这时候Gemini生成的对比如果只罗列“支持事务”“内存计算能力”,根本没法帮你拍板。
第一步:用角色+权限+限制三要素锁定用户视角
在提示词开头第一句就写明:“本提示词面向【有Spring Boot开发经验但无生产环境运维权限的Java后端开发】”。
紧接着用短句交代硬性约束:【只能修改application.yml和@Cacheable注解,不能动Docker Compose文件,不允许执行redis-cli命令】。
这一步漏掉,Gemini会默认你有全栈权限,给出“手动配置Redis Cluster拓扑”这类无效建议。
第二步:把技术参数翻译成开发动作链
方法一:用“当……时,我需要……”句式绑定场景
例如:“当我在本地IDE调试订单查询接口时,需要让缓存击穿不触发数据库雪崩——此时Redis的setnx+lua方案和Ignite的原子序列化锁,哪个能在不加额外依赖的前提下直接生效?”
方法二:强制替换抽象指标为可操作验证点
把“高可用性”改成:“我能否在不重启应用的前提下,把缓存节点从3台扩到5台?扩完后@Cacheable是否自动识别新节点?”
注意:不要写“请说明可用性差异”,这种问法会让Gemini返回SLA百分比数字,而不是告诉你“改完yml后要调一次Ignite.cluster().forServers().nodes()才能刷新路由表”。
第三步:按真实决策流程排序对比维度
① 第一优先级:上线前我能立刻验证的(如starter版本兼容性、Spring Boot 3.2.0是否报NoClassDefFoundError)
② 第二优先级:上线后我能自主调整的(如缓存失效策略是否支持@CacheEvict条件表达式)
③ 第三优先级:我必须提工单才能动的(如集群扩容、跨机房同步配置)→ 这类项直接标灰,注明【需联系中间件组,当前阶段不纳入评估】
这三类必须严格分层。如果混在一起比较“性能”,Gemini可能把Ignite的10万QPS压测结果放在第一条,而你连测试环境都没权限跑JMeter。
第四步:用开发文档截图反向校验输出
上传你项目里真实的pom.xml片段和application.yml缓存配置段落。
追加指令:“所有对比结论必须能对应到这两段代码中的具体字段或注解——比如指出‘spring.cache.type=ignite’这行是否会导致@EnableCaching失效,或‘@Cacheable(key=“#id”)’在Ignite中是否需额外配置KeyTransformer’。”
【若结论无法锚定到你提供的代码行,视为无效输出】











