- 前言
-
- 1.SDS概念
- 一、Redis存储原理之string
-
- 1. string结构
- 2.string编码类型
- 3.应用场景
- 4.相关 *** 作命令
前言 1.SDS概念
Redis中字符串的实现,Simple Dynamic String简单动态字符串,是一数据结构。
Redis是用C语言实现的,但C语言本身没有字符串类型(只能用字符数组 char[]实现)。所以就会有以下问题:
- 使用字符数组必须先给目标变量分配足够的空间,否则可能会溢出。
- 如果要获取字符长度,必须遍历字符数组,时间复杂度是 O(n)。
- C 字符串长度的变更会对字符数组做内存重分配。
通过从字符串开始到结尾碰到的第一个’\0’来标记字符串的结束,因此不能保 存图片、音频、视频、压缩文件等二进制(bytes)保存的内容,二进制不安全。
而SDS的特点:
- 不用担心内存溢出问题,如果需要会对SDS进行扩容。
- 获取字符串长度时间复杂度为 O(1),因为定义了len属性。
- 通过“
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)