簡體   English   中英

Redis。 Php緩存+ Php會話

[英]Redis. Php Cache + Php Session

我使用Redis來存儲會話和存儲緩存,並且我想實現“清除緩存”功能。

我遇到了許多問題:

1)Redis無法按模式刪除(“ ENTITY_CACHE:*”)

2)“ flushall”同時刪除緩存和會話(不應刪除會話)

3)不建議使用多個數據庫功能,因此我可能不使用“ flashdb”

4)按模式(“ ENTITY_CACHE:*”)獲取所有密鑰,然后刪除每個密鑰-對我來說這是一種不好的做法,這些密鑰的數量可能超過一百萬...

$redis->delete($redis->keys('ENTITY_CACHE:*'))

我唯一喜歡的解決方案是:使用多個Redis實例,為Session和Cache使用單獨的實例。 但是我不確定這是否是一個好的解決方案

你能給我一些建議嗎?

但是我不確定這是否是一個好的解決方案

我感覺是 我將Session和Cache放在不同的實例上,因為它允許我為每個實例指定不同的內存限制(最大內存),並且逐出更加可控(它使用LRU算法)。 持久性設置也似乎是實例范圍的。 請注意,應避免沒有會話鎖定的會話存儲。 我強烈建議使用SncRedisBundle,因為它實現了鎖定(而PHP的Redis擴展沒有)。

有幫助嗎?

暫無
暫無

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

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