当前位置:  软件>C/C++软件

快速的消息队列 SquirrelMQ

    来源:    发布时间:2015-02-22

    本文导语:  SquirrelMQ是一个快速的消息队列。   SquirrelMQ特性: 1. SquirrelMQ使用Slab内存分配算法来降低内存碎片,使用epoll来解决高并发问题。效率比redis要高,使用简单。 2. 另外SquirrelMQ支持持久化,在down机的情况下也不用担心数据丢失...

SquirrelMQ是一个快速的消息队列。

 

SquirrelMQ特性:

1. SquirrelMQ使用Slab内存分配算法来降低内存碎片,使用epoll来解决高并发问题。效率比redis要高,使用简单。

2. 另外SquirrelMQ支持持久化,在down机的情况下也不用担心数据丢失。

3. SquirrelMQ支持lua脚本,你可以制定自己的处理队列程序,只要在cron/main.lua中编写代码即可。

 

一,SquirrelMQ使用 下面,我们介绍使用SquirrelMQ消息队列来完成上面所说的应用吧。

1) 安装Lua。

 

2) 首先下载编译SquirrelMQ:

#> wget http://squirrel-message-queue.googlecode.com/files/squirrel-with-lua-v1.2.zip

#> tar –zxvf squirrel-with-lua-v1.2.zip

#> cd squirrel-with-lua-v1.2

#> make

3) 修改SquirrelMQ配置(squirrel.conf文件):

# 侦听端口

listingPort 6061

# 最大可以使用内存数(单位:字节)

memoryLimitUsed 524288000

# 多长时间进行存储数据到硬盘(防止down机时数据丢失,单位为秒)

secondsToSaveDisk 30

# 多少次数据变化才进行存储数据到硬盘(防止写数据过于频繁)

chagesToSaveDisk 30

# 客户端连接多长时间不操作自动关闭(单位为秒)

clientExpiredTime 60

# 多长时间运行一次cron(单位为毫秒)

cronLoops 5000

# 是否开启Lua处理线程

enableLuaThread 1

# 是否使用守护进程模式运行

daemonize 0

我们根据自己的需求来修改配置,特别说明一下的是,当开启Lua处理线程时,我们可以编写Lua脚本来处理队列(在cron/main.lua)。这样就可以让服务器本身来处理消息队列的数据,而不用另外写一个cron程序来处理。下面我们会介绍。

4) 运行SquirrelMQ:

#> ./squirrel –c squirrel.conf

 

二,使用客户端API SquirrelMQ提供一个PHP访问的API,在php/squirrel.class.php。我们可以使用这个API文件轻松地访问SquirrelMQ。

这个API文件把所有访问SquirrelMQ的操作封装成一个类,叫Squirrel,在使用时直接new一个Squirrel的对象即可,如下:

 


    
 
 

您可能感兴趣的文章:

  • HP-UX 下消息队列能否保证消息包的先进先出?
  • 各位专家,如何知道消息队列中消息是否已经超时了?
  • unix下一个关于消息队列的问题
  • 消息队列中消息大小
  • linux 消息队列长度的问题
  • liunx 消息队列的问题
  • 关于消息队列的问题
  • sco unix中消息队列中的一次可发送的最长消息的字节长度是多少?
  • 消息队列消息总大小的问题
  • 请教:写入队列消息的长度问题
  • 关于消息队列
  • 消息队列的清理问题
  • 消息队列问题
  • 关于后台服务进程不能读消息队列的问题?200分求答急急。。。
  • unix关于消息队列和函数msgctl的问题。。急啊!!!
  • Linux下使用C++互斥访问文件+消息队列
  • LINUX如何调整POSIX消息队列大小
  • linux下消息队列不阻塞
  • 单个消息队列能实现进程间聊天功能吗?
  • 请教消息队列相关问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • JavaScript中的消息框(警告框,确认框,提示框)语法
  • 用java,怎样实现从一个类的发一个消息(消息本身也是一个类)到另一个类?
  • **********写了一个简单的UDP程序,接受英文的消息正常,接受中文的消息显示不完整,请问是什么原因
  • 重分求解,UNIX下的消息队列非常失败,经常发生堵塞现象,现改用FIFO,但FIFO又得自己设计消息,请高手指点
  • 消息队列收不到消息
  • 怎样在程序中修改一个系统V消息队列中消息的个数::
  • 创建消息队列,接受消息失败,接受程序再发送错误消息给发送程序//程序能运行,不出结果
  • 一个消息队列例子,第一次运行正确,第二次运行就提示消息发送失败了
  • MQTT 消息代理 Mosquitto
  • 怎么查询消息队列中每条消息的状态
  • 怎样获取终端的所有打印消息
  • *** 高分请问关于触发消息事件的问题? ***
  • 消息隊列與select的問題
  • 消息服务器 Json Messaging
  • 请教一个关于linux下的消息机制的问题
  • 分布式分组消息系统 Spread
  • 消息中间件的功能?各位铜人帮忙!
  • 页面消息提醒插件 Sticky
  • 消息通知提醒插件 jQuery Notify
  • 求linux下监视消息的工具
  • 关于多进程同时从消息队列取消息的问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3