簡體   English   中英

在symfony4中為redis設置無鍵前綴

[英]Setting no key prefix in symfony4 for redis

我在Symfony 4中正確配置redis時遇到問題。我希望在緩存項目鍵之前沒有前綴,但它會不斷顯示。 這是我的config/packages/framework.yaml (與緩存相關的部分):

cache:
    prefix_seed: ztw/ztw
    app: cache.adapter.redis
    default_redis_provider: '%env(resolve:REDIS_URL)%'

我試圖刪除prefix_seed鍵並將其值設置為~ 沒有任何效果。 但是,文檔說明其默認值為null

我想實現這一點,因為當我通過網站啟動我的網站時,它設置了一些關鍵並堅持下去。 但是當我運行我的behat測試(故意 - 填充緩存)時 - 密鑰是不同的,無論如何。 兩者都使用APP_ENV=dev環境變量值(檢查兩次)。

以下是redis方面的情況:

127.0.0.1:6379> keys *
 1) "xw+Y6oICD-:4dfbddf6bbb8ea2e25e843d936739dd9"
 2) "xw+Y6oICD-:4f1cbb7ece6f8db3b69ae11418bbf022"
 3) "xw+Y6oICD-:26c65dcee950a5020596989ad1a8ff66"
 4) "gUbUjDoAuQ:b712bf9832f566bd5bd30a07e7bd146b"
 5) "gUbUjDoAuQ:1d0f56bf67bd482674b62067336bd633"
 6) "xw+Y6oICD-:d948f5e23f94e681620436786f0daf98"
 7) "xw+Y6oICD-:ef88ab906981c6e04ef639cd4a8ae803"
 8) "xw+Y6oICD-:748d18ce6ba0929d2540e9b4529e56cc"
 9) "xw+Y6oICD-:ef30ff7e239b92cec1f5e58c201296f5"
10) "xw+Y6oICD-:1d0f56bf67bd482674b62067336bd633"
11) "xw+Y6oICD-:b712bf9832f566bd5bd30a07e7bd146b"
12) "xw+Y6oICD-:4da534491b5732336b3bb3e7302bc79b"

例如,第4和第11項具有相同的鍵(和值)但不幸的是前綴不同。

我知道緩存鍵前綴被認為是一種很好的做法,但由於某種原因,在運行時,behat鍵是不同的。

任何幫助贊賞。

prefix_seed提到的prefix_seed是symfony緩存文件的前綴(不相關的redis)。

redis前綴的默認值是PHPREDIS_SESSION:它解釋了上面提到的鍵,我沒試過,但我認為你需要在session.save_path添加和設置prefix選項為空字符串。

檢查predis read me文件: https//github.com/phpredis/phpredis

編輯:根據文檔看起來它只能通過predis設置額外的設置。

使用Predis庫時,可以使用一些其他Predis特定選項。 有關更多信息,請參閱Predis連接參數文檔。

資料來源: https//symfony.com/doc/current/components/cache/adapters/redis_adapter.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM