簡體   English   中英

Hazelcast殺死用戶會話

[英]Hazelcast killing a user session

我正在考慮終止我的hazelcast群集的用戶活動會話。

我們有會話映射,每個會話似乎有兩個條目

[SESSIONID]映射到一個布爾值,[SESSIONID] :: hz :: user映射到我們的用戶對象

我看到它殺死會話的方式必須遍歷地圖並找到用戶對象,一旦找到該對象,則刪除該條目以解析鍵並查找映射到布爾值的另一個sessionId並殺死它。

有沒有更簡單的方法讓我丟失?

Hazelcast Mastering手冊對此進行了很好的描述: http ://hazelcast.org/mastering-hazelcast/您需要注冊才能閱讀該書。 您可以將Predicate用於:

  1. 標准API
  2. 分布式SQL查詢
  3. RegexPredicate在地圖中搜索sessionid

假設我們有一個Hazelcast IMap,其中的鍵是一些ID,值是一個Person對象,並且我們想使用以下(和幼稚的)實現來檢索具有給定名稱的所有人員:

public Set<Person> getWithNameNaive(String name){
    Set<Person> result = new HashSet<Person>();
    for(Person person: personMap.values()){
        if(person.name.equals(name)){
            result.add(person);
        }
    }
    return result;

Hazelcast解決該問題的方法:

 public Set<Person> getWithName(String name) {
    Predicate namePredicate = equal("name", name);
    return (Set<Person>) personMap.values(namePredicate);
}

暫無
暫無

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

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