You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

StackExchange.Redis中KeyDelete方法传入不存在Key时的行为咨询

关于StackExchange.Redis中KeyDelete方法的行为说明

放心好了,当你调用long KeyDelete(RedisKey[] keys, CommandFlags flags = CommandFlags.None);方法传入缓存中不存在的Key时,不会抛出任何异常,方法内部会自行处理这种情况。

具体来说,这个方法的返回值是一个long类型的数字,代表实际被成功删除的Key数量:

  • 如果传入的部分Key存在、部分不存在,返回值就是存在且被成功删除的Key数量
  • 如果传入的所有Key都不存在,返回值直接是0

举个简单的代码示例更直观:

// 假设已完成Redis连接初始化
IDatabase db = redisConnection.GetDatabase();
// 传入两个不存在的Key
long deletedCount = db.KeyDelete(new RedisKey[] { "non-exist-key-1", "non-exist-key-2" });
// 此时deletedCount的值为0,程序不会抛出任何异常

StackExchange.Redis的这种设计其实很贴合缓存操作的实际场景——Key不存在是非常常见的情况,没必要用异常来中断流程,你完全可以根据返回值判断删除操作的效果,再灵活做后续处理。

内容的提问来源于stack exchange,提问作者Aathira

火山引擎 最新活动