像SQL一样设计Redis数据库表?
发布时间:2021-03-18 08:13:56 所属栏目:MsSql教程 来源:网络整理
导读:假设我的数据库表结构是这样的 id name college address1 xxx nnn xn2 yyy nnm yn3 zzz nnz zn 如果我想根据这样的sql中的名称获取学生详细信息 select * from student where name =’xxx’ 那么在redis数据库中它是如何实现的 解决方法 与其他NoSQL数据存储
|
假设我的数据库表结构是这样的 id name college address 1 xxx nnn xn 2 yyy nnm yn 3 zzz nnz zn 如果我想根据这样的sql中的名称获取学生详细信息 解决方法与其他NoSQL数据存储区一样,Redis根据您将要执行的操作有不同的要求.Redis有几种数据结构,根据您的需要可能很有用.例如,考虑到您希望从学生中选择*,其中name =’xxx’,您可以使用Redis哈希. redis 127.0.0.1:6379> hmset xxx id 1 college nnn address xn OK redis 127.0.0.1:6379> hgetall xxx 1) "id" 2) "1" 3) "college" 4) "nnn" 5) "address" 6) "xn" 如果你有其他疑问,就像你想做同样的事情,但选择大学=’nnn’的地方,那么你将不得不对你的数据进行非规范化.非规范化在SQL中通常是一件坏事,但在NoSQL中它很常见. 如果您的主要查询是针对该名称的,但您可能需要查询该大学,那么除了哈希之外,您还可以执行添加集合等操作. redis 127.0.0.1:6379> sadd college.nnn xxx (integer) 1 redis 127.0.0.1:6379> smembers college.nnn 1) "xxx" 如果您的数据结构如此,如果您想查找到大学xn的名称的所有信息,您首先要选择该集合,然后根据集合中返回的名称选择每个散列. 您的要求通常会推动您使用的设计和结构. (编辑:百科站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql – 选择名为“index”的列的表
- sql – 如何使用Excel VBA获取新插入记录的ID?
- R data.table滚动连接“mult”未按预期工作
- sql-server-2008 – 错误地在表上运行了更新语句
- sql – Doctrine 2.1其中外键id =?,编辑:在Doctrine 2.2中
- Sql中session阻塞怎样处理,对阻塞你了解多少?
- SQL Server 2008 R2:准备动态WHERE子句
- sql – regex_substr中的connect by子句
- sql-server – MS SQL Server中的自定义聚合函数?
- sql-server – SQL Server中的分页

