1. 首页
  2. 软件开发
  3. redis 使用命令delete所有key

redis 使用命令delete所有key

  • 发布于 2024-09-26
  • 1 次阅读
private static final String MEMBER_ID_KEY = "member:id";

@Resource(name = "RedisTemplate")
private RedisTemplate<String, String> redisTemplate;

Date expireDate = Date.from(LocalDateTime.ofInstant(LocalDateTime.now().toInstant(), ZoneId.systemDefault()).plusDays(1).atZone(ZoneId.systemDefault()).toInstant());
for(int i = 101; i <= 100001; i++) {
   String jsonStr = MEMBER_ID_KEY  + i;
   redisTemplate.opsForValue().set(jsonStr ,  String.valueOf(i));
   redisTemplate.expireAt(jsonStr , expireDate);
}

上面是用程序往redis中添加一些值,key的前缀是member:id。下面是用命令删除这些值。

[root@localhost~]# redis-cli
127.0.0.1:6379> redis-cli EVAL "local keys = redis.call('keys', ARGV[1]) for i=1,#keys,5000 do redis.call('del', unpack(keys, i, math.min(i+4999, #keys))) end return #keys" 0 'member:id:*'

原文链接: https://onlyou.blog.csdn.net//article/details/105952620