六、查询数据

在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 + "&nbsp;&nbsp;姓名:" + u.Name + "&nbsp;&nbsp;所在部门:" + 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 + "&nbsp;&nbsp;姓名:" + value.Name + "&nbsp;&nbsp;所在部门:" + value.Job.Position;}catch (Exception ex){keyValue += ex.ToString();}lblPeople.Text = keyValue.ToJson();lblShow.Text = string.Empty;}

效果如下:
如需转载,请注明出处,本系列博文示例程序下载地址

http://blog.csdn.net/qiujialongjjj/article/details/17278467

C# Redis实战(六)相关推荐

  1. C# Redis实战(七)

    七.修改数据 在上一篇 C# Redis实战(六)中介绍了如何查询Redis中数据,本篇将介绍如何修改Redis中相关数据.大家都知道Redis是key-value型存储系统,所以应该可以修改key, ...

  2. 腾讯、阿里、百度高工都点头称赞的“Redis 实战超全笔记”,不看你就亏大发了

    写在开头 如何系统,全面,的学习redis呢? 我的一个程序员朋友,在之前有面试 Java 开发工程师岗位时,居然大部分的面试问题都是关于 Redis 的,他都差点都忘记了自己应聘的是 Java 工程 ...

  3. 不看你就亏了,最新最全的腾讯,阿里、百度、美团等大厂都在用的Redis实战

    不要小看一个redis 任何一家公司的招聘信息都包含一段redis的需求. 不要小看一个redis 你能在互联网搜索到的很多文章都讲错了,面试会有很多坑. 不要小看一个redis 搞懂它是你通向分布式 ...

  4. redis实战总结,go语言实现

    redis实战总结 一:redis存储验证码 流程图 相关代码 只展示相关技术点的代码,看完可自己实现 生成验证码 func Code() string {rnd := rand.New(rand.N ...

  5. 2021-03-23 - 高性能 Redis 实战

    1.应用场景 主要用于学习Redis 底层实现,编程思想,以及可参考借鉴的技术, 同时在日常开发中如何高效实践高性能 Redis服务. 2.学习/操作 1.文档阅读 高性能 Redis 实战 | La ...

  6. 腾讯,阿里、百度、美团等大厂都在用的Redis实战,不看你就亏了

    不要小看一个redis 任何一家公司的招聘信息都包含一段redis的需求. 不要小看一个redis 你能在互联网搜索到的很多文章都讲错了,面试会有很多坑. 不要小看一个redis 搞懂它是你通向分布式 ...

  7. redis(二)redis实战 使用redis进行文章的排序

    2019独角兽企业重金招聘Python工程师标准>>> http://www.beckbi.cn/?p=172 redis实战使用redis进行文章的排序 转载于:https://m ...

  8. Java并发编程原理与实战六:主线程等待子线程解决方案

    Java并发编程原理与实战六:主线程等待子线程解决方案 参考文章: (1)Java并发编程原理与实战六:主线程等待子线程解决方案 (2)https://www.cnblogs.com/pony1223 ...

  9. 怎么查询redis缓存的数据_阿里开发十年写出这份「Redis简明教程」+「Redis实战」请你查收...

    Redis是啥?用Redis官方的话来说就是: Redis is an open source (BSD licensed), in-memory data structure store, used ...

最新文章

  1. 用Rhino V7建造机甲学习教程 Building a Mecha using Rhino V7
  2. Gradle 使用指南 -- 基础配置
  3. python 操作 postgresql 数据库
  4. 授权服务框架Spring Authorization Server的过滤器链
  5. org.springframework.dao.InvalidDataAccessApiUsageException: Write operations
  6. IDEA如何重新刷新pom.xml文件重新下载
  7. 某系统有6台输出设备 有多个进程均需要使用2台_从零开始学K8s: 2.开发与部署方式的演变...
  8. POJ2236(并查集)
  9. 龙芯.NET正式发布 开源共享与开发者共成长
  10. (模板)网页游戏用的“内容区”的“图赏影音”模板
  11. Leetcode--238. 除自身以外数组的乘积
  12. java开发工具eli_Java 学习线路图是怎样的?
  13. 2019JS必看面试题
  14. linux调度器(四)——主调度器与CFS
  15. 项目管理文档<模板>
  16. 微信公众号网页链接失效解决方案
  17. 对数函数图像增减性质
  18. 揣测一下未来的政策走向
  19. Error occurred while trying to proxy request项目突然起不来了
  20. 代码 羊角螺旋_机电设计中的数学之美——羊角螺旋让你平稳过弯

热门文章

  1. 给力2011-东莞市南洋计算机软件有限公司 携手10大厂商提供企业安全有效节省成本解决方案...
  2. 欧洲超高速网比宽带快万倍 几秒下载一部电影
  3. 全球投资者为阿里尖叫!阿里CEO张勇详解天猫商业新力量
  4. Openstack组件部署 — Overview和前期环境准备
  5. redis底层数据结构之intset
  6. [wcf]入门.3.4
  7. 锚定比特币现金(BCH),助力构建价值互联网时代
  8. “BitPico称BCH98%的节点或位于同一服务器机架中”?
  9. 新兴经济体助力BCH长足发展
  10. About A Scam