Redis在订阅推送系统中的应用
2015-05-08吴霖刘振宇李佳
吴霖 刘振宇 李佳

摘要:订阅推送系统是为解决在移动互联网下,由服务端向客户端进行主动推送图文消息的需求而提出的。基于Redis的高速缓存机制在订阅推送系统中的应用进行了研究,详细说明了如何在程序开发中有效地利用Redis中的各种数据结构。
关键词:Redis;内存数据库;订阅;推送
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)07-0292-03
Abstract: Subscription and push system is proposed for solving the problem of how to push diagram text combined messages from the server to the client actively in Mobile Internet. This article studied the applications in subscription and push system, based on the caching mechanism of Redis, and explain how to effectively make use of the data structures of Redis in program development detailedly.
Key words: Redis; memory database; subscription; push
近年来,随着智能手机的普及和移动互联网的快速发展,越来越多的移动APP应用如春风般涌现出来。而在移动APP应用中,经常会有由服务端向客户端进行主动推送图文消息的需求,如向用户推送优质资源、问卷调查、APP使用教程等。而目前移动APP应用的用户规模往往都是千万级别,大规模地批量推送对程序性能有很高的要求,因此,如何合理地设计一个订阅推送系统非常重要。
本文首先简单地介绍了Redis及其特性;其次,概要描述了作者最近开发的一个订阅推送系统及其系统架构;最后,详细地介绍了Redis的各种数据结构在本系统中的应用。
1 Redis
1.1 Redis简介
Redis是一个基于内存的高性能key-value数据库,其全名为远程字典服务(Remote Dictionary Server)[1]。与Memcached一样,为了保证效率,数据都是缓存在内存中,即以空间换取时间,从而达到提高性能的目的。而与Memcached的最大区别在于,Redis会周期性地把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并在此基础上实现了主从同步。
1.2 Redis的特性
1.2.1 支持持久化
Redis和Memcached一样都是把数据存在内存中。不同的是,Memcached把数据全部存放在内存之中,服务器重启后数据会消失,而且缓存的数据不能超过内存大小;……
