六、查询数据
在C# Redis实战(五)中介绍了如何删除Redis中数据,本篇将继续介绍Redis中查询的写法。
1、使用Linq匹配关键字查询
using (var redisClient = RedisManager.GetClient()) { var user = redisClient.GetTypedClient<User>(); var userList = user.GetAll().Where(x => x.Job.Position.Contains(txtScreenPosition.Text)).ToList(); if (userList.Count > 0) { var htmlStr = string.Empty; foreach (var u in userList) { htmlStr += "<li>ID=" + u.Id + " 姓名:" + u.Name + " 所在部门:" + u.Job.Position + "</li>"; } lblPeople.Text = htmlStr; } lblShow.Text = "筛选后共有:" + userList.Count.ToString() + "人!"; }以上代码实现了匹配所在部门来查询数据的功能,输入.NET,过滤掉Java部门的一人。查询结果如下:
2、通过key来查询数据
在Redis中可以通过输入keys * 来查询当前数据库中所有的key,C#中我们可以通过以下代码来实现相同效果。
var user = redisClient.GetTypedClient<User>(); var userKeyList = user.GetAllKeys();代码中userKeyList中保存了所有的key
细心的读者会发现此处查询到的key数量与数据库保存的数据量不同
我们逐一说明下:
seq:User:用来维护当前类型User的ID自增序列,用作对象唯一ID,也就是使用GetNextSequence()函数可以获取当前数据库最新的ID的原因了。
ids:User:同一类型User中所有对象ID的列表,相当于一个索引,包含了所有同为类型User的ID;
由于维护了这样一个分组信息,所以很容易实现GetAll<User>()这样的功能。
urn:user:1:这才是保存user对象的key。
在redis-client中输入:get urn:user:1 得到json类型数据。
通过上述说明,我们就可以很轻松的通过key来查询value值了,代码如下:
using (var redisClient = RedisManager.GetClient()) { var keyValue = string.Empty; try { var user = redisClient.GetTypedClient<User>(); var value = user.GetValue(txtKey.Text); keyValue += "ID=" + value.Id + " 姓名:" + value.Name + " 所在部门:" + value.Job.Position; } catch (Exception ex) { keyValue += ex.ToString(); } lblPeople.Text = keyValue.ToJson(); lblShow.Text = string.Empty; }效果如下:
如需转载,请注明出处,本系列博文示例程序下载地址
相关推荐
Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object...
《高并发网站与分布式缓存Redis与开发实战》3.0.pdf c#
2018年redis全套视频-讲解 实战
软件开发设计:应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、存储设备...
redis windows 安装包+ .net C#项目实战示例
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/...
深受大家喜爱的实战项目,使用的技术,spring ,springmvc mybatis, shiro redis vm ,easyUI 等前沿框架,由于视频较大,压缩包中存放了视频的链接,一共6G,14讲。
【Java面试+Java后端技术学习指南】:一份通向理想互联网公司的面试指南,包括 Java,技术面试必备基础知识、Leetcode、计算机操作系统、计算机网络、系统设计、分布式、数据库(MySQL、Redis)、Java 项目实战等 ...
讲授风格独特,提供详细上课日志及答疑,赠送配套的项目架构源码注释详细清晰且表达通俗,均能直接在实际项目中应用,正真的物超所值,价格实惠任务作业:综合运用《C#/.Net企业级系统架构设计实战精讲教程》课程所...
好吧不说这些了,只是扯扯蛋而已,回归主题,我想说的是csdn的文章可以通过设置代理ip刷新文章的浏览量,所以首先要做的就是这篇文章的主题“使用c#验证代理ip有效性”。 当然代理IP来源肯定是免费,所以嘛效率一般...
数据库技术:如关系型数据库(如MySQL、Oracle、SQL Server)和非关系型数据库(如MongoDB、Redis)等。 前端开发:HTML、CSS、JavaScript等用于构建网页和Web应用程序的技术。 后端开发:涉及服务器端编程、API开发...
Alibaba 微服务体系自媒体实战课程 后端 - JavaSpring Cloud 进阶 Alibaba 微服务体系自媒体...掌握主流后端技术栈:Spring Cloud+MongoDB+Redis+RabbitMQ等应用,获得微服务、分布式、项目和微架构综合实战经验.zip
【博客个人资源】 包含前端、后端、移动开发、操作...Java、Python、Node.js、Spring Boot、Django、Express、MySQL、PostgreSQL、MongoDB、React、Angular、Vue、Bootstrap、Material-UI、Redis、Docker、Kubernetes
C#.Net异步处理精讲视频培训教程是用C#/.Net进行高级技术开发的重要基础,也是《.Net企业级系统架构设计实战精讲》的重要基础。含以下技术内容: MVC5, EF6, Spring.Net,Log4Net,T4,Memcache,抽象工厂,JQuery...
这个C#实现的小游戏是一个简单的猜数字游戏,让玩家猜一个1到100之间的随机生成的数字。以下是对这个小游戏的分析: Random 类的使用:游戏开始时,使用 Random 类生成一个1到100之间的随机数作为要猜的数字。 ...
n8 Y6 d1 C# ^9 l 141.05 一些小问题. @( |. p' J! V5 s; Z+ E 142.06 关于搜索技术的介绍& H, z8 Q3 } F 143.07 solr文本型缓存数据库搜索web应用平台的介绍 144.08 关键字项目搭建 145.09 solr启动# b6 A& c6 v7 ...
三更博客 三更 三更草堂 SpringBoot前后端分离项目实战-博客项目-Java项目 SpringBoot,MybatisPlus,SpringSecurity,EasyExcel,Swagger2,Redis,Echarts,Vue,ElementUI..... 软件开发设计:应用软件开发、系统软件开发...
本课程全程使用目前比较流行的开发工具idea进行开发,涉及到目前互联网项目中最常用的高并发解决方案技术, 如 dubbo,redis,solr,freemarker,activeMQ,springBoot框架,微信支付,nginx负载均衡,电商活动秒杀,spring...
Easy.Core.Flow一个针对.Net Core各种技术点的分析库###教程其他教程预览###分库分表项目实战教程###Git地址: