【问题标题】:storing array of arrays in Redis在 Redis 中存储数组数组
【发布时间】:2013-12-15 14:31:43
【问题描述】:

我有一个包含复杂关系的大型数据库,并且想要缓存一些索引和字符串以便更快地访问它们,因此我想将它们存储在某种缓存中,以尽量减少访问数据库以获取信息。

我搜索并发现 Memcached 和 Redis 可以适合我的目的。经过更多研究,我发现 Memcache 在存储“值”( Key -> Value )方面存在限制。

在 Redis 中,是否可以将多维数组(数组数组的数组)存储在“值”(键 -> 值)中。最大可以是 20MB 或 30MB 的数据。

如果是,那不会降低性能吗?

【问题讨论】:

  • 两者都提高了性能,因为它们是基于内存的系统。只需使用 memcached 来缓存所有的 sql 查询,这样用户就不会点击数据库,而是点击 memcache 来保存所有内容

标签: php mysql arrays redis memcached


【解决方案1】:

如果我没记错的话,Redis 字符串值的限制为 512MB。

http://redis.io/topics/data-types

字符串

字符串值的最大长度为 512 兆字节。

列表

列表的最大长度为 232 - 1 个元素(4294967295,每个列表超过 40 亿个元素)。

设置

一个集合中的最大成员数为 232 - 1(4294967295,每组超过 40 亿个成员)。

哈希

每个哈希最多可以存储 232 - 1 个字段值对(超过 40 亿)。

【讨论】:

    【解决方案2】:

    您应该考虑将 mongoDB 用于您的用例。它将支持索引和查询复杂的嵌套结构,并且速度也很快。

    【讨论】:

      猜你喜欢
      • 2016-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-26
      • 2012-04-25
      • 2015-08-14
      • 1970-01-01
      相关资源
      最近更新 更多