Redis核心技术及实战(一.如何设计一个键值数据库)

一:一个键值数据库包含了什么/如何设计一个键值数据库?

原文:《01丨基本架构:一个键值数据库包含什么?》

设计一个键值型数据库时要考虑:

  • 存哪些数据? => 数据类型。key大多为String,value可以多种多样,如Redis的string、set、hash…

  • 可以对数据做哪些操作? => 操作模块。如put、get、scan、delete、set…

  • 键值对保存在内存还是外存? => 存储模块。内存快但可能丢失(作缓存),外存慢但安全(作数据库)。

  • 怎么访问? => 访问框架。动态库访问简单但功能弱,网络框架访问功能强大但复杂( 比如多线程时要考虑阻塞、并非问题)。

  • 如何确定键值对位置? => 索引模块。Redis采用的是Hash索引。

  • 内存的分配和回收? => 存储模块。

  • 重启后如何快速恢复? => 存储模块的持久化机制。

  • 如何实现分布式、高可用? => 高可用、高扩展模块。

image-20220511190150879

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值