注:本文系COPY拼接加自创而来!
redis是类似于memcached的高性能键值缓存工具,但它支持更多的值类型、功能更加丰富,且可以将存储内容定时持久化到磁盘中,是NoSQL家庭中出色的一员。NoSQL中另外一个重要成员便是MongoDB。
先介绍下redis的安装:
1、首先安装redis,具体安装方法见redis官网:http://code.google.com/p/redis/
2、安装并启动redis后,可以使用redis的命令条进行简单的测试
3、安装node.js的redis模块,建议先讲npm程序更新至最新版本,npm更新地址:https://github.com/isaacs/npm,
安装redis的node.js模块,url:https://github.com/simplegeo/nodejs-redis <–这里有详细的使用说明
再贴一个redis完全中文命令手册地址,翻译的很好,看起来很轻松:http://readthedocs.org/docs/redis/en/latest/index.html
4、最后提供一个简单的例子:
1 | var redis = require("redis"), |
目前我利用node.js+yui+express+redis开发了一个带头像功能聊天室,边上截图边介绍把!
1.登录页面,由于是一个小demo,所以没有用户概念,只需要输入一个用户名就可以登录了。
亮点:这里我实现了不利用FLASH,做到文件上传进度条,真实的进度条,有500毫秒的延迟。
2.登录进去以后的群聊天图片,左下角蓝色的群字代表有群消息未读取。左边大框是所有人可见的
亮点:可以自定义群组,并且带消息提醒,IE8用户也是可用的哦!
3.这是私聊的截图,可以点击右边人物头像和名字打开私聊窗口进行私聊。
4.这是创建群的截图,成员列表会在群窗口罗列出来,方便点击移动到下面添加列表中
本套聊天室系统前端就不多介绍了,利用comet技术,每60秒左右进行一次轮询,如果有新信息则会马上响应。会根据响应更新成员列表、群列表和聊天信息。
本套聊天室后端使用node.js搭建,利用yui+express的框架二次开发成MVC框架,将一些功能模块抽象出来。
YUI+EXPRESS可以做很多事情。类似php smarty的功能YUI也能胜任。
用户的登入登出则直接操作redis的用户KEY和群KEY,聊天内容则定时对redis进行存储,在转存过程中有一个写入缓冲,用来记录转存时用户的聊天信息。为redis开了2个连接,一个连接专门用来处理用户key和群key,一个连接专门用来转存聊天消息。
来个图片直观点: