后台把用户改成黄金会员,页面顶部标签变了,商品价格还是普通价,清一次对象缓存才恢复正常。第一次遇到会往复杂处想,其实漏掉的多是个小前提。
wp cache delete membership_level_37 group redis-cli DEL wp:user:37:level
等级写入用户元数据后只清了页面缓存,对象缓存里的等级字段仍是旧值。价格计算读的是缓存那份,标签读的是数据库,两边显示自然对不上。这一点先确认清楚,后面就不用反复试。
「等级权益缓存」相关的日志我一般连着看前后五分钟,单看一条报错经常判断不出是哪一步失败。把这次用到的命令存进笔记,比记住结论有用,换个环境还能照着走。
改完隔一天再看一次,当场正常不代表能稳住。
具体做法是,升级成功后按用户 ID 删掉对应的缓存键;价格和标签统一走同一个等级读取函数,别各查各的;缓存键里带上用户 ID 和等级,避免整站共用一份;升级后换一个没登录过的浏览器看价格。
改完照着核一遍,升级后不手动清缓存,商品页直接显示会员价。
