2017-05-31 93 views
0

我必須替換舊版系統上的緩存。將大數據寫入Redis緩存

我決定嘗試使用Redis。我在Windows 2012計算機上運行Redis v3.0.504 for x64。它是與Web應用程序相同的服務器。這些是機器上運行的唯一兩個應用程序。該服務器有20個內存。

應用程序嘗試一次將3900個對象寫入緩存。舊的緩存能夠處理這個問題,但現在失敗了。

調試時,出現錯誤:內存不足以繼續執行程序。事件日誌有錯誤:服務應用程序池'XXXXXXAppApp'的進程在Windows進程激活服務中遇到致命通信錯誤。進程ID是'2824'。數據字段包含錯誤編號。

將3900個對象寫入緩存看起來不是很多,我相信應該不是問題。

任何人都可以猜測問題是什麼以及可能的解決方案是什麼?

下面是我的標準配置文件所做的更改:

################################ SNAPSHOTTING ################################ 
# 
# Save the DB on disk: 

# save "" 

# save 900 1 
# save 300 10 
# save 60 10000 

# stop-writes-on-bgsave-error yes 

rdbcompression no 

# rdbchecksum yes 


################################### LIMITS #################################### 

persistence-available [no] 


#maxmemory 10240mb 
maxmemory 15g 


maxmemory-policy allkeys-lru 

回答

0

這個問題實際上是Redis的客戶端,ServiceStack.Redis,序列化引用自己的對象。