【问题标题】:Which way of fetching is more Efficient in Redis?Redis 中哪种获取方式更高效?
【发布时间】:2015-11-03 06:32:37
【问题描述】:
您好,我是Redis 的新手,目前面临一个问题。我的问题是“我不知道哪种方式性能更好”
方式#1:将所有数据缓存到Redis,然后查询到它(我不知道是否可以查询到Redis?如果可能的话如何?)
例如在下表中将所有数据缓存到单个键(通过这种方式在我的表中我们有 1 个键),然后查询具有相同城市的用户。
方式#2:将所有具有相同城市的用户缓存在单独的 Key 中(通过这种方式在我的表中我们有 4 个 key),然后分别获取每个 Key。
【问题讨论】:
标签:
python
django
caching
redis
【解决方案1】:
在单独的 Key 中缓存具有相同城市的所有用户 - Redis 方式。快速插入,快速获取大量内存消耗或一些数据冗余的成本。
一般情况下,您不能按照您的 way#1 示例进行操作。为什么不? Redis 没有任何用于以 sql 术语查询数据的内置解决方案。在大多数 Redis 数据结构中,您不能执行类似 select something from somethere where criteria 的操作。您可以为数据上的复杂地图/redus 解决方案编写 LUA 脚本 - 但不是开箱即用。
你应该记住,每次你想说Join this and this data你应该明白 - 你只能在客户端应用程序空间或redis LUA脚本中这样做。是的,您在join 容量中有一些类型带有 ZSET 和 SET,但这不是您需要的。