`

结合memcache解决在线用户统计问题

阅读更多

现在很多网站都有统计在线人数的功能,实现的方法也有很多。

 

我以前就是采用的servlet的listener来实现的,当有一个session创建就增加一个在线用户,用户登出或session失效的时候就减少一个在线用户。这种方式的弊端在于当用户强行关闭浏览器窗口时,会出现统计不准确的情况,当然,我们可以通过设置session的timeout时间来解决。

 

今天我打算用memcache来实现在线用户的统计,因为使用缓存会更加灵活。因为缓存本身就提供了自动过期的功能。

 

可以在用户第一次访问的时候,已sessionID作为key向缓存中加入数据,并更新最近的活动时间,这样就可以实现用户在线了多长时间,上次活动是在什么时候,闲置了多久没有活动。

 

当用户登录以后,可以将用户的详细信息记入缓存中,从而可以查看在线用户的详细列表。

 

对于在SNS网站中的当前在线的好友功能设计,利用此方案也是一个很好的办法。

 

可以参考http://www.kodejava.org/examples/30.html这个网站获得更多信息。

分享到:
评论

相关推荐

    memcache监控工具

    **Memcache监控工具详解** Memcache是一款高性能的分布式内存对象缓存系统,广泛应用于Web应用中,用于减轻数据库负载...通过实时监控,我们可以更好地了解Memcache的工作状况,及时发现并解决问题,进一步优化服务。

    memcache-2.2.6.tgz

    这种设计特别适合于处理大量短生命周期的数据,如网站的用户会话信息、文章浏览统计等。 Memcache 的核心功能包括: 1. **分布式存储**:通过哈希算法,Memcache能够将数据分散到多个服务器上,实现负载均衡和高...

    memcache的下载

    为了解决这个问题,通常需要结合其他持久化存储解决方案,如定期将数据写入磁盘。 5. **安全性**:memcached服务默认仅监听本地回环地址,若要允许远程访问,需要手动配置。此外,由于其数据传输未加密,因此在生产...

    php+memcache实现的网站在线人数统计代码

    标题中的“php+memcache实现的网站在线人数统计代码”是指使用PHP编程语言与Memcache缓存技术结合,来统计网站当前在线用户的数量。这种方法相较于使用数据库或文件存储,具有更高的效率和更低的资源消耗。 描述中...

    memcache for win

    "Memcache for Win"是指Memcached在Windows平台上的版本,这使得Windows用户也能利用到Memcached的强大功能。 **PHP与Memcached的结合** PHP是广泛使用的服务器端脚本语言,尤其在Web开发中。为了在PHP中使用...

    PHP实现多服务器session共享之memcache共享

    在构建分布式Web应用程序时,确保用户会话在多个服务器之间无缝地共享是一项关键任务。PHP是一种广泛使用的服务器端脚本语言,它默认的session存储机制并不适用于多服务器环境。为了解决这个问题,开发者通常会利用...

    memcache dome

    - 监控与维护:定期检查缓存性能,使用监控工具进行统计分析,及时发现和解决问题。 5. **性能优化** - 调整缓存大小:根据应用负载动态调整内存分配,避免资源浪费。 - 数据分片:将大对象拆分为小块存储,减少...

    如何发现Redis热点Key,解决方案有哪些.docx

    综上所述,解决Redis热点Key问题的关键在于合理设计缓存策略,并通过技术手段分散热点Key带来的压力。通过对不同解决方案的对比分析,可以根据实际情况选择最合适的方案,以确保系统的稳定性和高效性。

    XXX简历.pdf

    8. 数据库:熟练使用Oracle、mysql,能独立进行关系型数据库的设计建模,解决过Oracle、MySQL上亿条数据统计计算慢的问题。 9. Java:熟练使用java,掌握SSH框架,独立设计实现过聊天服务器后台应用,以及实现过java...

    网站海量数据和高并发解决方案(一).docx

    综上所述,解决网站海量数据和高并发问题通常需要结合多种策略,包括但不限于缓存、静态化、数据库优化、负载均衡、分布式架构和异步处理等。具体实施时,需根据业务需求和现有基础设施进行选择和定制。

    php-memcached-demo.tar.gz

    5. 监控与日志:定期监控Memcached的运行状态,及时发现并解决问题。 通过学习和实践PHP-Memcached-Demo项目,开发者不仅可以掌握PHP与Memcached的整合,还能进一步理解缓存技术在提高Web应用性能中的重要作用。...

    智慧餐饮平台的设计与实现.pdf

    解决Web集群中的Session共享问题,采用了基于过滤器和Memcache的策略,实现Session的统一管理。为了系统性能优化,还采取了Cookie压缩、数据库索引优化等技术手段。 在项目完成后,进行了系统测试,总结了实施过程...

    千万级高并发架构

    在互联网技术领域中,高并发架构是保障大型网站服务可用性和响应速度的关键技术。千万级高并发架构主要指能够处理...在实际架构设计中,要根据业务特点和用户行为模式,结合多种技术和策略,形成一套完整的解决方案。

    up_256956_phpMemcachedAdmin_qftiw.rar

    《phpMemcachedAdmin:可视化管理Memcached的利器》 在当今的Web开发中,缓存技术扮演着至关重要的角色...通过深入理解和应用,开发者可以更好地利用 Memcached 提升网站性能,同时提升自己的编程技能和问题解决能力。

    B2Bbuilder(B2B电子商务网站) 7.0.1.zip

    代码、链接、图片、Flash、幻灯片、 排名、 赞助商链接(关键词广告),管理员可自由创建广告位,用户可以在线自助购买广告 友情链接 支持商铺链接和整站友情链接,可以发布图片或文字链接,可以控制链接顺序及显示...

    迈思网站内容管理系统(MyStepCMS) 1.0.5.zip

    除文章插件外,如活动在线报名、搜索引擎监控、文章访问统计、MSSQL查询、网站数据统计及导出等功能,也都可以通过插件来实现。对于用户数据,系统更可以通过插件直接调用任意其他系统的用户数据,并与本系统权限...

    memadmin+php_memcached+memcached1.4.5

    它提供了一个简单的界面,让用户能够查看服务器状态、统计信息、清除缓存、设置限制等,而无需直接操作命令行。这对于那些不熟悉命令行或者希望图形化管理memcached的用户非常有用。`memadmin-1.0.5.tar`表明这是...

    MyStepCMS 迈思网站内容管理系统 v1.0.5.zip

    除文章插件外,如活动在线报名、搜索引擎监控、文章访问统计、MSSQL查询、网站数据统计及导出等功能,也都可以通过插件来实现。对于用户数据,系统更可以通过插件直接调用任意其他系统的用户数据,并与本系统权限...

    drupal sae版本

    Drupal是知名的开源内容管理系统(CMS),它用于构建...此外,安装和管理Drupal模块、进行性能优化以及解决可能的兼容性问题也是关键点。熟悉SAE的开发工具和Drupal的API将有助于更顺畅地在SAE上部署和维护Drupal应用。

    php中用memcached实现页面防刷新功能

    此外,通过设置缓存过期时间,可以有效避免用户因IP变更等问题导致的防刷新策略失效。 使用Memcached实现页面防刷新功能的优点在于其高性能和可靠性,能够满足大部分需要高性能保障的Web应用需求。同时,该方案易于...

Global site tag (gtag.js) - Google Analytics