像其他NoSQL数据存储区一样,Redis根据要执行的 *** 作有不同的要求。
Redis有几种数据结构,根据您的需求可能有用。例如,鉴于您对a的渴望,
select * from student where name ='xxx'可以使用Redis
hash。
redis 127.0.0.1:6379> hmset xxx id 1 college nnn address xnOKredis 127.0.0.1:6379> hgetall xxx1) "id"2) "1"3) "college"4) "nnn"5) "address"6) "xn"
where college ='nnn'那么您将不得不对数据进行非规范化。在SQL中,非规范化通常是一件坏事,但在NoSQL中,它是很常见的。
如果您的主要查询是针对名称的,但是您可能需要针对大学查询,那么您可能会执行一些 *** 作,例如
set在哈希表之外添加一个。
redis 127.0.0.1:6379> sadd college.nnn xxx(integer) 1redis 127.0.0.1:6379> smembers college.nnn1) "xxx"
数据的结构是这样的,如果要查找有关进入xn大学的姓名的所有信息,则应首先选择
set,然后
hash根据中返回的名称选择每个信息
set。
您的需求通常会驱动您使用的设计和结构。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)