在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方面有不同的实例不需要额外的配置。
答
我会推荐单独的实例。 优势在单实例与同一数据库,甚至是不同的DBS
空间和配置控制:你不会希望因为你的缓存占用太多的空间redis的注销用户。存储一些页面缓存的redis对象可能会导致会话数据密钥被驱逐,这并不好。
键名间距控制:你的钥匙将基于关注被分隔,并且可以使用之类的东西冲洗清除所有缓存,或注销你的用户对一些重大变化。而不必按模式删除键。
显然我问了一个很差的问题。但它不会让我删除它,因为你的回答是:/ – LXXIII
这是边界线,是的。我试图删除我的答案,但不能,因为你已经接受它:-) –
这一切都很好。我不会再删除这个问题了。如果你问我,我会在做出更好的调查后回答我自己的问题。我认为这是一个有用的问答。 – LXXIII