当前位置: 首页 > news >正文

赶集网网站建设今日最新国内新闻重大事件

赶集网网站建设,今日最新国内新闻重大事件,做网站淘汰了,福建省建设厅网站施工员查询引用:http://melin.iteye.com/blog/701652 项目需要统计在线用户数量,系统部署在集群环境下,使用会话粘贴的方式解决Session问题。要想得到真实在线用户数,必须是所有节点的总和。 这里考虑使用memcached存放用户登录数据&#xf…

引用:http://melin.iteye.com/blog/701652

 

项目需要统计在线用户数量,系统部署在集群环境下,使用会话粘贴的方式解决Session问题。要想得到真实在线用户数,必须是所有节点的总和。
这里考虑使用memcached存放用户登录数据,key为userid统计在线用户数据,只需要统计key的总数。memcached因为性能的缘故,
没有提供遍历整个缓存当中对象的功能,不过memcached也提供了很多命令来监控memcached的状态,例如stats命令就有:

 

stats  
stats reset  
stats malloc  
stats maps  
stats sizes  
stats slabs  
stats items  
stats cachedump slab_id limit_num  
stats detail [on|off|dump]  

 

使用命令【stats items】查询查询到所有的slab,再使用命令【cachedump 1 0】命令找出所有的Key信息。但过期的key也会被查询出来,所以需要对all keys执行一遍查询,过滤掉过期的key。也可以通过【cachedump 1 0】命令查询出来的key过期时间与当前时间进行比较。判断是否过期。这里的过期时间为session.getMaxInactiveInterval()的值。

Iterator<Map<String, String>> iterSlabs = client.getStats("items").values().iterator();
Set<String> set = new HashSet<String>();
while(iterSlabs.hasNext()) {
    Map<String, String> slab = iterSlabs.next();
    for(String key : slab.keySet()) {
        String index = key.split(":")[1];
        set.add(index);
    }
}

//统计
List<String> list = new LinkedList<String>();
for(String v : set) {
    String commond = "cachedump ".concat(v).concat(" 0");
    Iterator<Map<String, String>> iterItems = client.getStats(commond).values().iterator();
    while(iterItems.hasNext()) {
        Map<String, String> items = iterItems.next();
        list.addAll(items.keySet());
    }
}

return client.getBulk(list);

 

接下来说说,用户信息怎么放入memcached中。主要利用HttpSessionListener和HttpSessionAttributeListener来监听对Session的操作。
不多写了,贴上代码就很清楚了:
HttpSessionAttributeListener:
public void attributeReplaced(HttpSessionBindingEvent event) {
    HttpSession session = event.getSession();
    if(SESSION_KEY.endsWith(event.getName())) {
        MemcachedClient client = (MemcachedClient)SpringBeanHolder.getBean(MEMCACEHD_BEAN_NAME);
        SessionContext context = (SessionContext)session.getAttribute(SESSION_KEY);
        
        String username = "";
        try {
            username = context.getDocument().getElementsByTagName("operatorName").item(0).getFirstChild().getNodeValue();
            
            String json = "{username: '"+username+"'}";
            client.set(context.getUserID(), session.getMaxInactiveInterval(), json);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

public class UserSessionListener implements HttpSessionListener { 
    private static final String SESSION_KEY = "sessionContext";
    private static final String MEMCACEHD_BEAN_NAME = "memcachedClient"

    public void sessionCreated(HttpSessionEvent event) { 
    } 

    public void sessionDestroyed(HttpSessionEvent event) { 
        HttpSession session = event.getSession(); 
        MemcachedClient client = (MemcachedClient)SpringBeanHolder.getBean(MEMCACEHD_BEAN_NAME);
        
           SessionContext context = (SessionContext)session.getAttribute(SESSION_KEY);
           System.out.println("【Destroy Session】 User:"+context.getUserID());
           
           //删除对应用户在memcached的数据
           client.delete(context.getUserID());
    }

}


 

 

http://www.lbrq.cn/news/2730763.html

相关文章:

  • 室内设计效果图排版seo有哪些优缺点?
  • 时事新闻最新湖南靠谱的关键词优化哪家好
  • 学做网站的学校惠州seo排名收费
  • 施工企业资质证书封皮seo优化服务价格
  • 哪些公司做DZ网站维护网络营销相关工作岗位
  • 做网站的封面图片哪里才有今日头条普通版
  • 广州大型网站建设公司排名seo销售代表招聘
  • 丝网外贸做哪些网站抖音推广
  • 鹤壁河南网站建设郑州网络推广
  • 兰州的网站建设网站提交入口大全
  • 在百度云上做网站线上营销的优势和劣势
  • 原画师苏州网站关键字优化
  • 厦门网站制作微信软文范例
  • 白云做网站的公西安市网站
  • 做影视网站风险大吗东莞关键词seo
  • 网站建设 后台郑州厉害的seo顾问
  • 做网站的属于什么专业叶涛网站推广优化
  • 柳州做网站优化泉州seo报价
  • 地方政府如何建设政府网站各大网站收录查询
  • 网站除了做流量还需要什么软件吗西安百度竞价代运营
  • 昆明网站建设.com网上销售
  • 做网站哪里接单全自动引流推广软件app
  • 建设网站是什么样的百度免费推广
  • 四川省人民政府网站集约化建设成品短视频app源码的优点
  • 做汽配批发做那个网站比较好手机制作网页
  • 1元云购网站建设网站seo优化报告
  • 用nas做网站安徽网站推广公司
  • 网页设计与制作教程第5版合肥网站优化技术
  • 建一个购物网站要多少钱友情链接还有用吗
  • 什么犁网站做淘宝门头站长素材官网
  • 深入详解PCB布局布线技巧-去耦电容的摆放位置
  • JAVA文件管理系统:如何玩转文件操作
  • 【Linux基础知识系列】第九十六篇 - 使用history命令管理命令历史
  • 解决Electron透明窗口点击不影响其他应用
  • GitHub 上 Star 数量前 18 的开源 AI Agent 项目
  • Java面试宝典:JVM性能优化