Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Redis缓存是否支持查询功能_Java_Redis - Fatal编程技术网

Java Redis缓存是否支持查询功能

Java Redis缓存是否支持查询功能,java,redis,Java,Redis,我正在学习redis缓存,只是想知道它支持查询功能 我们有位置表,希望将记录存储在redis缓存中(需要按位置名称或id进行搜索) 让我知道我们如何为相同的密钥构建密钥 还是我们需要在redis缓存中添加两个条目 jedis.set(TenantId+LocationName, Location) jedis.set(TenantId+LocationId, Location) 提前感谢 Redis允许查询,但与其他NoSQL数据库一样,您希望根据查询方式将数据存储在其中。如果您需要通过

我正在学习redis缓存,只是想知道它支持查询功能

我们有位置表,希望将记录存储在redis缓存中(需要按位置名称或id进行搜索)

让我知道我们如何为相同的密钥构建密钥

还是我们需要在redis缓存中添加两个条目

 jedis.set(TenantId+LocationName, Location)

 jedis.set(TenantId+LocationId, Location)

提前感谢

Redis允许查询,但与其他NoSQL数据库一样,您希望根据查询方式将数据存储在其中。如果您需要通过名称或id进行查询,则需要两个“条目”来实现这一点(顺便说一句,这与RDBMS使用索引的功能没有太大区别)

但是,如果创建两个键,一个用于名称查找,另一个用于ID-命令,则应该考虑使用哈希数据结构。对于每个租户,在每个位置保留一个包含两个字段的散列,其中一个字段从名称映射到id,反之亦然。在非常虚拟的情况下,Java调用如下所示:

jedis.hmset(TenantId, <LocationName, Location, locationId, Location>);
jedis.hmset(TenantId,);