获取redis连接

    public class RedisHelper{private static readonly string ConnectionString = ConfigurationManager.ConnectionStrings["RedisConnection"].ConnectionString;private static ConnectionMultiplexer _connection;private static ConnectionMultiplexer Connection{get{if (_connection == null || !_connection.IsConnected){_connection = ConnectionMultiplexer.Connect(ConnectionString);}return _connection;}}public static IDatabase GetDatabase(){ConnectionMultiplexer redis = Connection;//return redis.GetDatabase(RedisDatebaseId);return redis.GetDatabase();}}

//根据模糊查询条件获取key值集合

   var pattern = "UserInfoHash:*";//匹配符var redisResult = db.ScriptEvaluate(LuaScript.Prepare(//Redis的keys模糊查询:" local res = redis.call('KEYS', @keypattern) " +" return res "), new { @keypattern = pattern });string[] preSult = (string[])redisResult;//将返回的结果集转为数组

//根据key值集合获取所有Hash

var list = new List<ICustomInfo>();//定义存放客户信息的集合
string json = "{ 'UserInfoHash:0', 'UserInfoHash:1','UserInfoHash:2', 'UserInfoHash:4' }";//Redis的keys模糊查询:
" local result={}  local mykeys=" + json + "; " +" for i,v in pairs(mykeys) do result[i]=redis.call('hgetall',v) end; " +" return result"));
//将结果集转为数组
var vals = (StackExchange.Redis.RedisResult[])redisResult1;foreach (var val in vals){string[] preval = (string[])val;int indexCount = Array.IndexOf(preval, "CustomerCode");int indexPwd = Array.IndexOf(preval, "Password");string ac = preval[indexCount + 1];//账号的值,等于账号名称所在的下标+1list.Add(new CustomInfo(){Password = preval[indexPwd + 1],Account = ac,UpdateTime = DateTime.Now,Token = StringExtension.ToBase64String(string.Format("{0}:{1}", DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss"), ac))});}

注:根据key模糊查询一次数据过多时,可能会报超时问题。 解决方法:在redis连接字符串加入对应的  syncTimeout=10000(发送/接收超时设置(毫秒) )

转载于:https://www.cnblogs.com/-xyl/p/11245104.html

StackExchange.Redis 使用LuaScript脚本模糊查询hash相关推荐

  1. redis的游标和模糊查询key的不适用

    项目场景: 提示:这里简述项目相关背景: 例如:项目场景:查平台的支付方式 问题描述 用来redis的scan模糊匹配的方式,查询key,在redis的key大于百万级的key的时候,会导致查询非常缓 ...

  2. Redis实现分页和多条件模糊查询方案

    导言 Redis是一个高效的内存数据库,它支持包括String.List.Set.SortedSet和Hash等数据类型的存储,在Redis中通常根据数据的key查询其value值,Redis没有模糊 ...

  3. stackexchange.mysql_StackExchange.Redis加载Lua脚本进行模糊查询的批量删除和修改

    前言 使用StackExchange.Redis没有直接相关的方法进行模糊查询的批量删除和修改操作,虽然可以通过Scan相关的方法进行模糊查询,例如:HashScan("hashkey&qu ...

  4. key redis 模糊查询个数_Reids Lua 模糊查询所有key 及 相对应的集合总数

    Redis 使用 Lua 模糊查询所有key 及 相对应的集合总数 .Net 4.5.1 需要引入:    StackExchange.Redis  (测试用的 1.2.4.0) 方法一: 优点:原子 ...

  5. redis通过key模糊搜索_jedis模糊查询key

    jedis模糊查询key 2018-11-26 redis里面存的key是byte[]类型,怎么使用jedis进行key的模糊查询 在redis里面存储了一些数据,key和value都是byte[]类 ...

  6. 高性能分布式缓存Redis(缓存分类 安装 数据类型选择和应用场景 发布订阅 事务 Lua脚本 慢查询日志)

    高性能分布式缓存Redis 高性能分布式缓存Redis 1. 缓存发展史&缓存分类 1.1 大型网站中缓存的使用 1.2 常见缓存的分类 1.3 分布式缓存选型方案对比 2. Redis概述& ...

  7. Redis批量操作--增加,删除,模糊查询

    需求来源 虽然说redis是纯内存操作,效率非常高,但是一次插入或者删除千万级或者亿级的操作,如果采用单条处理的api,整体处理效率还是很低的:另外,如果处理的数据量过大,稍有不慎可能就会导致clie ...

  8. StackExchange.Redis学习笔记(二) Redis查询 五种数据类型的应用

    StackExchange.Redis学习笔记(二) Redis查询 五种数据类型的应用 原文: StackExchange.Redis学习笔记(二) Redis查询 五种数据类型的应用 Connec ...

  9. 0227windows下模糊查询oracle事件的脚本

    [20170227]windows下模糊查询oracle事件的脚本.txt $ cat ooerr.bat @@echo off rem disp oracle error rem /bin/grep ...

最新文章

  1. 夯实JavaScript基础之prototype, __proto__, instanceof
  2. 数字万用表的四位半,三位半都是什么意思?
  3. 分布式服务框架HSF学习
  4. 数据结构--稀疏矩阵的一种实现
  5. Windows 7可以体验IE10了
  6. MySQL 示例数据库 employees 详解
  7. java调用javafx_Java代码调用JavaFX的例子(大力推荐)
  8. 设计模式(二十三)—— 模板方法
  9. 信息系统项目管理04——项目整体管理
  10. 解决Scrapy-Redis爬取完毕之后继续空跑的问题
  11. select 获取option中其他的属性的值
  12. LCA Tarjan
  13. 微信小程序登录小实例
  14. char类型和字符串
  15. 不经历风雨,怎么见彩虹,没有人能随随便便成功
  16. 无人机优化无线传感器网络matlab代码
  17. glob.glob() 函数
  18. React-native实现联系人列表分组组件
  19. matlab算法模型——图的最短路径和距离
  20. 开心自己的“冒泡排序”被百度百科收录 每一个人都会有梦想,或许不是每一个人,都可以实现自己的梦想,但要永远记得,在我们心里,曾经做过的梦。——To:Hygh

热门文章

  1. tabbar角标 小程序_【沃行课堂】恭喜你遇到“坑”,小程序踩坑指南
  2. c语言如何在坐标输出,tc 如何在指定坐标处 输出bmp图片??
  3. mysql -d -e_mysql常用函数
  4. linux vi编辑撤销,vi撤销命令(u和U),撤销上一次的操作
  5. Yarn无法查看日志: Aggregation may not be complete, Check back later or try the nodemanager at xxxx:xxxx
  6. R语言︱R社区的简单解析(CRAN、CRAN Task View)
  7. 第六章_循环神经网络(RNN)
  8. linux 超好用的命令行工具
  9. 笔试编程题常用的一些技巧方法
  10. sersync实时备份安装及设置