首页新闻找找看学习计划

有人用过 StackExchange.Redis吗,能使用通配符*进行key删除吗?

0
悬赏园豆:20 [已解决问题] 解决于 2016-10-09 13:29

翻遍了StackExchange.Redis的源码,没知道使用通配符进行删除的例子

redis本身是支持通配符命令的,但不知道StackExchange.Redis能不能实现,

thomaschen的主页 thomaschen | 初学一级 | 园豆:7
提问于:2016-10-09 11:41
< >
分享
最佳答案
0

可以使用通配符找出所有的key然后逐个删除。

下面是Nop里面的代码你可以参考下

/// <summary>
        /// Removes items by pattern
        /// </summary>
        /// <param name="pattern">pattern</param>
        public virtual void RemoveByPattern(string pattern)
        {
            var _muxer = RedisManager.GetMuxer();
            var _db = RedisManager.GetDb();
            foreach (var ep in _muxer.GetEndPoints())
            {
                var server = _muxer.GetServer(ep);
                var keys = server.Keys(pattern: "*" + pattern + "*", database: _db.Database);
                foreach (var key in keys)
                    _db.KeyDelete(key);
            }
        }

 

收获园豆:20
webaspx | 小虾三级 |园豆:1971 | 2016-10-09 11:47

非常感谢,已经通过测试了

thomaschen | 园豆:7 (初学一级) | 2016-10-09 13:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册