跳至主要內容
如何设计一个Redis客户端SDK

这篇文章,我们聊聊如何设计一个 Redis 客户端 SDK 。

1 SDK 设计思路

SDK 的设计理念核心两点:

  1. 提供精简的 API 供开发者使用,方便与用户接入;

  2. 屏蔽三方依赖,用户只和对外 API 层交互 。


勇哥大约 7 分钟cachecacheRedis
Redis 事务模式和 Lua 脚本

准确的讲,Redis 事务包含两种模式 : 事务模式Lua 脚本

先说结论:

Redis 的事务模式具备如下特点:

  • 保证隔离性;
  • 无法保证持久性;
  • 具备了一定的原子性,但不支持回滚;
  • 一致性的概念有分歧,假设在一致性的核心是约束的语意下,Redis 的事务可以保证一致性。

但 Lua 脚本更具备实用场景,它是另一种形式的事务,他具备一定的原子性,但脚本报错的情况下,事务并不会回滚。Lua 脚本可以保证隔离性,而且可以完美的支持后面的步骤依赖前面步骤的结果


勇哥大约 14 分钟cachecacheRedis