标签归档:redis

用redis实现支持优先级的消息队列

为什么需要消息队列

系统中引入消息队列机制是对系统一个非常大的改善。例如一个web系统中,用户做了某项操作后需要发送邮件通知到用户邮箱中。你可以使用同步方式让用户等待邮件发送完成后反馈给用户,但是这样可能会因为网络的不确定性造成用户长时间的等待从而影响用户体验。
有些场景下是不可能使用同步方式等待完成的,那些需要后台花费大量时间的操作。例如极端例子,一个在线编译系统任务,后台编译完成需要30分钟。这种场景的设计不可能同步等待后在回馈,必须是先反馈用户随后异步处理完成,再等待处理完成后根据情况再此反馈用户与否。

继续阅读用redis实现支持优先级的消息队列

Redis集群技术及Codis实践

互联网早在几年前就已进入Web 2.0时代,对后台支撑能力的要求,提高了几十倍甚至几百倍。在这个演化过程中,缓存系统扮演了举足轻重的角色。

运维进化到今天,已经不是重复造轮子的时代。所以,我们在架构优化和自动化运维中,可以尽可能地选用优秀的开源产品,而不是自己完全从头再来(各种技术geek除外)。

本文主要讨论Redis集群相关技术及新发展,关于Redis运维等内容,以后另开主题讨论。

继续阅读Redis集群技术及Codis实践

超强、超详细Redis数据库入门教程

【本教程目录】

1.Redis是什么
2.Redis的作者何许人也
3.谁在使用redis
4.学会安装redis
5.学会启动redis
6.使用redis客户端
7.redis数据结构 – 简介
8.redis数据结构 – strings
9.redis数据结构 – lists
10.redis数据结构 – 集合
11.redis数据结构 – 有序集合
12.redis数据结构 – 哈希
13.聊聊redis持久化 – 两种方式
14.聊聊redis持久化 – RDB
15.聊聊redis持久化 – AOF
16.聊聊redis持久化 – AOF重写
17.聊聊redis持久化 – 如何选择RDB和AOF
18.聊聊主从 – 用法
19.聊聊主从 – 同步原理
20.聊聊redis的事务处理
21.教你看懂redis配置 – 简介
22.教你看懂redis配置 -通用
23.教你看懂redis配置 – 快照
24.教你看懂redis配置 – 复制
25.教你看懂redis配置 – 安全
26.教你看懂redis配置 -限制
27.教你看懂redis配置 – 追加模式
28.教你看懂redis配置 – Lua脚本
29.教你看懂redis配置 – 慢日志
30.教你看懂redis配置 – 事件通知
31.教你看懂redis配置 – 高级配置

【redis是什么】 继续阅读超强、超详细Redis数据库入门教程

键空间通知(keyspace notification)

功能概览

键空间通知使得客户端可以通过订阅频道或模式, 来接收那些以某种方式改动了 Redis 数据集的事件。

以下是一些键空间通知发送的事件的例子:

  • 所有修改键的命令。
  • 所有接收到 LPUSH 命令的键。
  • 0 号数据库中所有已过期的键。

事件通过 Redis 的订阅与发布功能(pub/sub)来进行分发, 因此所有支持订阅与发布功能的客户端都可以在无须做任何修改的情况下, 直接使用键空间通知功能。

因为 Redis 目前的订阅与发布功能采取的是发送即忘(fire and forget)策略, 所以如果你的程序需要可靠事件通知(reliable notification of events), 那么目前的键空间通知可能并不适合你: 当订阅事件的客户端断线时, 它会丢失所有在断线期间分发给它的事件。

未来将会支持更可靠的事件分发, 这种支持可能会通过让订阅与发布功能本身变得更可靠来实现, 也可能会在 Lua 脚本中对消息(message)的订阅与发布进行监听, 从而实现类似将事件推入到列表这样的操作。

继续阅读键空间通知(keyspace notification)