编程的魅力
首页
分类
标签
归档
动态
关于我
hyuga
2020-05-27
98
2020-07-17 20:18:39
原创
Redis删除指定前缀Key的缓存集合
## 场景 项目改版上线,需要清除手机端之前的登录信息,强制重新登录。 ## 方案 > 方案一 请求拦截器,只要检测不符合条件,清除登录缓存,前端跳转至登录页 - 好处:方便,几行代码的问题。 - 坏处:每次拦截都要做附加查询判断,而且附加代码什么时候移除也是个问题,可能移除后,移动端再登录,一样拦截不了。 > 方案二 清除redis缓存,使之重新登录 - 好处:高效快捷,删除所有符合条件的缓存数据,不需要植入代码逻辑。 - 坏处:有风险,需要连接redis服务器进行批量删除操作,可能存在一些代码逻辑判断异常的风险,需要经过全面测试,选好时间点才能在线上操作。 ## 决定 > 采用第二个方案,具体操作如下。 - 连接redis服务器,进入服务器系统 - 进入redis目录,如`/opt/redis-4.0.14/src` - 执行下面的代码,自行替换`key`前缀 ``` ./redis-cli -h 10.152.2.205 -p 6379 keys "SESSION_BASE:SESSIONID:*" | xargs ./redis-cli -h 10.152.2.205 -p 6379 DEL ``` **注意:** - `SESSION_BASE:SESSIONID:*`是key,`*`是指查询所有以该key为前缀的keys - `10.152.2.205` --> ip - `6379` --> port
Redis
评论
发布
留言
评论