六、查询数据
在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; }效果如下:
如需转载,请注明出处,本系列博文示例程序下载地址
相关推荐
标签 "c#redisdemo" 明确了这个压缩包的内容是关于C#编程语言与Redis的实战示例。 在压缩包文件名称列表中,只有一个条目 "rediapp",这可能是项目的名字或者包含源代码、配置文件的主目录。 在这个"rediapp"项目...
Redis,即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了...
5. **Redis实战**: - **数据结构**:Redis支持多种数据结构,如字符串(Strings)、哈希(Hashes)、列表(Lists)、集合(Sets)和有序集合(Sorted Sets),在设计高效数据存储方案时非常有用。 - **事务与发布订阅**:...
### Redis实战:从入门到精通 #### 一、Key-Value存储系统概览与Redis的选择 在《Redis实战》这本由红丸出品的书中,作者深入浅出地介绍了多种Key-Value存储系统,包括Voldemort、Dynamo、memcachedb、Cassandra、...
### Redis实战:中文完整版知识点总结 #### 一、Redis快速入门 ##### 1.1 Key-Value存储系统简介 **1.1.1 Voldemort** Voldemort是一款分布式键值存储系统,它支持高可用性和数据分区,适用于大规模数据存储场景...
在IT行业中,Redis被广泛用作高性能的内存数据存储,常用于实现缓存、消息队列等功能。在本项目"YXBG.Second_redis_IP缓存_c#集成redis_"中,我们将...这是一个很好的实战案例,展示了Redis在实际业务中的应用价值。
### Redis 实战 #### Key-Value存储系统简介 在探讨Redis之前,我们首先需要了解什么是Key-Value存储系统。这类系统是一种非关系型数据库的一种形式,它通过键(Key)来存储和检索值(Value)。这种简单的设计使得...
### Redis实战文档:深入解析与应用 #### 一、Redis概览:为何选择Key-Value Store? 在探讨Redis之前,我们先简要回顾一下几种知名的Key-Value存储系统,包括Voldemort、Dynamo、memcachedb、Cassandra、...
Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object...
### 四、Redis实战技巧 1. **优化配置**: - 调整最大内存限制,避免因内存不足导致服务不稳定。 - 合理设置持久化策略,平衡性能与数据安全性。 - 配置合适的过期时间,自动清理不再使用的数据。 2. **命令...
根据给定的文件信息,我们可以提炼出以下知识点: 1. 高并发网站架构:高并发网站指的...通过结合理论知识与实际案例,本书旨在为开发者提供实战经验,帮助他们在构建高并发网站与分布式缓存系统时能够更加得心应手。
软件开发设计:应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、存储设备...
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/...
描述中的"redis c# 数据优化 差集 c#redis GetDifferencesFromSet"指出了我们将使用C#来调用Redis客户端,执行差集操作。`GetDifferencesFromSet`是一个可能的C#方法名,它代表了从Redis服务器获取两个集合差集的...
4. .NET C#项目实战示例: - 缓存操作:在Web应用中,可以将经常访问但计算代价高的数据缓存在Redis,例如用户会话、常用查询结果等,提高响应速度。 - 消息队列:利用Redis的List数据结构,实现简单的消息队列...
标题中的“成语接龙_Redis.7z”表明这是一个与编程相关的项目,特别是使用C#语言实现的成语接龙游戏,且游戏数据存储在Redis内存数据库中。...对于学习C#编程和Redis数据库操作的开发者来说,这是一个很好的实战案例。
深受大家喜爱的实战项目,使用的技术,spring ,springmvc mybatis, shiro redis vm ,easyUI 等前沿框架,由于视频较大,压缩包中存放了视频的链接,一共6G,14讲。