在Magento中为会话和后端缓存使用单个Redis实例是不是一个好主意?

问题描述:

对于Magento(v1.9或更低版本),可以将单个Redis实例用于会话和后端缓存吗?是否需要额外配置?在Magento中为会话和后端缓存使用单个Redis实例是不是一个好主意?

经过进一步研究,似乎对会话和后端缓存使用相同的实例很容易,因为唯一的潜在问题是空间不足(如果您使用ElastiCache在AWS上,则不是问题)。

不同的端口号也是没有必要的。你只需要指定不同的“数据库号码”。以下是配置示例:

<cache> 
    <backend>Cm_Cache_Backend_Redis</backend> 
    <backend_options> 
     <server>$REDIS_CACHE</server> 
     <port>6379</port> 
     <persistent></persistent> 
     <database>1</database> <!-- DIFFERENT DB NUMBER --> 
     <password></password> 
     <force_standalone>0</force_standalone> 
     <connect_retries>1</connect_retries> 
     <read_timeout>10</read_timeout> 
     <automatic_cleaning_factor>0</automatic_cleaning_factor> 
     <compress_data>1</compress_data> 
     <compress_tags>1</compress_tags> 
     <compress_threshold>20480</compress_threshold> 
     <compression_lib>gzip</compression_lib> 
     <use_lua>0</use_lua> 
    </backend_options> 
    </cache> 
    <session_save>db</session_save> 
    <redis_session> 
    <host>$REDIS_CACHE</host> 
    <port>6379</port> 
    <password></password> 
    <timeout>2.5</timeout> 
    <persistent></persistent> 
    <db>2</db> <!-- DIFFERENT DB NUMBER --> 
    <compression_threshold>2048</compression_threshold> 
    <compression_lib>gzip</compression_lib> 
    <log_level>1</log_level> 
    <max_concurrency>6</max_concurrency> 
    <break_after_frontend>5</break_after_frontend> 
    <fail_after>10</fail_after> 
    <break_after_adminhtml>30</break_after_adminhtml> 
    <first_lifetime>600</first_lifetime> 
    <bot_first_lifetime>60</bot_first_lifetime> 
    <bot_lifetime>7200</bot_lifetime> 
    <disable_locking>0</disable_locking> 
    <min_lifetime>60</min_lifetime> 
    <max_lifetime>2592000</max_lifetime> 
    </redis_session> 

您可以使用单个实例,但仍然为每个实例使用单独的数据存储库,例如, 6379和6380,但在同一个Redis服务器上。

从Magento方面有不同的实例不需要额外的配置。

+0

显然我问了一个很差的问题。但它不会让我删除它,因为你的回答是:/ – LXXIII

+0

这是边界线,是的。我试图删除我的答案,但不能,因为你已经接受它:-) –

+0

这一切都很好。我不会再删除这个问题了。如果你问我,我会在做出更好的调查后回答我自己的问题。我认为这是一个有用的问答。 – LXXIII

我会推荐单独的实例。 优势在单实例与同一数据库,甚至是不同的DBS

  1. 空间和配置控制:你不会希望因为你的缓存占用太多的空间redis的注销用户。存储一些页面缓存的redis对象可能会导致会话数据密钥被驱逐,这并不好。

  2. 键名间距控制:你的钥匙将基于关注被分隔,并且可以使用之类的东西冲洗清除所有缓存,或注销你的用户对一些重大变化。而不必按模式删除键。