用memcache来实现聊天室的可能性探讨.该如何解决
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了用memcache来实现聊天室的可能性探讨.该如何解决,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3631字,纯文字阅读大概需要6分钟。
内容图文
![用memcache来实现聊天室的可能性探讨.该如何解决](/upload/InfoBanner/zyjiaocheng/211/b600262127ef4bf3993441e9d5d94368.jpg)
突然想起这么个话题,当然要做复杂的是肯定不行的,我们只探讨将文本通过memcache实现聊天应用的可能..
首先摆在我们面前的是这个key要怎么维护?有没有实现的可能?
------解决方案--------------------
由于需要记录聊天内容和聊天人的信息
所以每笔数据应该是一个“结构”而不是单一的值
鉴于聊天内容是不可修改的,所以 key 并无实际意义,递增即可
至多是取时间值
------解决方案--------------------
聊天室需要缓存的东西不是很多啊。
------解决方案--------------------
研究过python的聊天室...关注一下
------解决方案--------------------
进来学习,这一块没什么经验。
------解决方案--------------------
本来聊天室就是个蛋疼的功能。得耗费多少资本啊。
没有这方面的经验,实现的方法有多种。把聊天数据存数据库或本地文件或memcache,显示数据会用到推送。听说还可以用socket来实现。 也没测试过。不知道哪种效率高。
------解决方案--------------------
------解决方案--------------------
虽然不懂web, 但是跑fcgi做单独的聊天服务器是可行的.
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
除非浏览器或flash本身是服务器时,如有开放端口,推技术才可能成真。
http是请求-响应式的。 是要是uri,都可请求。
猜想QQ, 每个用户都有好友的端口中。
也是有两种方式实现: 一是有数据存中央数据库;二是一个用户发言,然后向群里广播。
------解决方案--------------------
memcached的替代品?
redis吧,数据放入内存,但也支持在硬盘上持久化保存,配置正常的情况下,性能大概是memcached的十倍(网上的数据,俺自己测没打到过,但5倍以上是确认的)。
另外,做聊天室是可行的,并且也有类似的代码, redis官网有个示例,是完全用redis来做的模仿twiiter的页面。project名称好像叫“retwis”
以前也看到过设计,一般key是用散列值即可吧,比如 用户名_时间 然后md5一下之类的...
------解决方案--------------------
------解决方案--------------------
时间戳做key
由于mem 的value值是有大小限制的
可以每过一段时间生成个key 然后内部是json格式
例如
每五分钟一个key
然后把这五分钟内的聊天记录都放到mem中
然后 用户登录根据当前的时间戳来查询
不知道可否
------解决方案--------------------
呃,好吧,从目前的经验来看,如果单台服务器来做的话,私以为用长连接是不合适的,短连接做聊天室能够实现更多的访问量。
假设一台16核心16G的服务器,Nginx + PHP-FCGI的话,大概可靠并发能达到3W,那么长连接,最多也就是3W用户喽?(3W是俺自己测试的情况,俺渣....不过另外也参考了张宴的blog,姑且国内nginx的先驱者吧) 但短连接的话,就看Nginx每秒最多的request和 后端存储每秒最多request的能力了
以下是nginx和redis的单独 request能力 测试:
nginx,以phpinfo.php为测试内容
- PHP code
./webbench -c 10000 -t 30 "http://127.0.0.1/test.php" Webbench - Simple Web Benchmark 1.5 Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software. Benchmarking: GET http://127.0.0.1/test.php 10000 clients, running 30 sec. Speed=230470 pages/min, 46263036 bytes/sec. Requests: 115235 susceed, 0 failed.
------解决方案--------------------
没搞 过这方面,,表示很有压力。。
内容总结
以上是互联网集市为您收集整理的用memcache来实现聊天室的可能性探讨.该如何解决全部内容,希望文章能够帮你解决用memcache来实现聊天室的可能性探讨.该如何解决所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。