2016-09-06 43 views
1

我有以下場景:我的主頁是一個「時間線」,其中有一張地圖,頂部有一些過濾器,以及下面的帖子列表。 該列表按地圖邊界(空間查詢)和其他2個過濾器(類別和自由文本搜索)過濾。使用SignalR和SqlDependecies實時過濾列表c#

我想用SignalRSQL Dependencies實現它(的SQL Server 2016),使其「實時」(如:通知時,可以爲其設置過濾新帖的用戶),但我有一些懷疑的實現:

爲此,我需要爲每個唯一的過濾器組合(搜索,類別,map_bounds)註冊一個SQL依賴項,但當然這會轉化爲潛在的無限數量的SQL依賴項,我認爲這將對服務器造成巨大的重載基礎設施

我該如何以優化的方式做到這一點?我需要一些建議:)

在此先感謝!

回答

1

它可以完成,但由於用於依賴性的查詢的限制,它可能被證明是一個相當大的挑戰。對於你正在做的事情,我不會推薦SQL依賴注入。您可能希望查看使用類似redis的內容來緩存數據並查詢緩存中的數據以瞭解您正在嘗試執行的操作。這是SO問題,它具有SQL依賴注入查詢的所有限制。

What are the limitations of SqlDependency

+1

不,您不能按值查找redis。一個更好的方案是擁有2個緩存,一個用於空間,另一個用於標題,並且按鍵反轉,這將爲您提供所需的內容,並且您可以在Web應用程序加載時在幕後執行此操作,但它不會當應用程序啓動時不一定需要,可以在需要時使用它的一部分數據,如果數據足夠小,可能在鼠標懸停等情況下使用。 - –

+0

好的,謝謝!我會嘗試弄清楚如何實現它 – Enricosoft

+0

@Enricosoft不要忘記標記爲答案:) –