做外单网站亚马逊,网页设计设计一个网站首页,小程序开发一年多少钱,涉县手机网站建设Redis 的 String 类型内部使用了一种叫做 SDS#xff08;Simple Dynamic String#xff09;的结构。SDS 的设计比传统的 C 语言字符串更加高效和安全#xff0c;主要特点如下#xff1a;
头部信息#xff1a;SDS 的头部包含了一些元数据#xff0c;比如字符串的长度、剩…Redis 的 String 类型内部使用了一种叫做 SDSSimple Dynamic String的结构。SDS 的设计比传统的 C 语言字符串更加高效和安全主要特点如下
头部信息SDS 的头部包含了一些元数据比如字符串的长度、剩余可用空间的长度以及一个标志位这允许 Redis 快速获取字符串的长度避免频繁的遍历操作。 二进制安全SDS 保证二进制安全即字符串可以包含任何数据包括空字符\0这对于存储如图片、视频等二进制数据至关重要。 空间预分配和惰性空间释放当 SDS 需要增长时Redis 会预分配比实际需要更多的空间减少连续增长操作时的内存重新分配次数。当 SDS 缩短时Redis 不会立即释放多余的空间而是标记为可用以便未来的扩展操作可以直接使用。
常用命令
Redis 为字符串类型提供了一系列命令以下是一些常用的命令及其功能
SET设置一个键的值。如果这个键之前已经存在那么它的旧值会被新值覆盖。GET获取一个键的值。MGET获取多个键的值。MSET同时设置多个键的值。SETNX只有在键不存在时才进行设置。APPENDRedis 中的一个字符串操作命令用于将指定的值追加到键所关联的字符串的末尾。STRLEN一个用于获取字符串类型键的长度的命令。计数命令如 INCR、DECR、INCRBY、DECRBY 等用于对存储在字符串中的数字值进行原子增减操作 。DEL: 删除键。
SET设置值GET获取值 使用MSET获取多个键并用MGET获取这些键的值如图 使用SETNX设置之前不存在的键如果键存在设置失败返回0如果成功返回1 使用APPEND添加内容如果键不存在那么 APPEND 命令将创建一个新的键并设置其值为指定的值。APPEND 命令执行后返回的是追加操作后字符串的总长度。如果键不存在则返回的是新字符串的长度如下图所示 STRLEN如果没有值则返回0 使用INCR命令增加计数当myincr键不存在时执行INCR它将被创建初始为零然后增加1返回1 使用DECR命令减少计数当myincr键不存在时执行DECR它将被创建初始为零然后减少1返回-1下图为减少示例 INCRBY 是 Redis 中用于对存储在指定键中的整数值执行增加操作的命令。INCRBY 允许您指定一个整数值该值将加到键的当前值上。如果键不存在那么 INCRBY 将会创建一个键并将其初始值设置为 0然后再执行增加操作。
DECRBY则相反用于减少操作如下图所示 DEL
过期时间操作
在 Redis 中你可以为键设置过期时间这样键在指定的时间后会自动被删除。
设置键在指定秒数后过期EXPIRE key seconds如果键设置成功命令返回 1如果键不存在或无法设置过期时间命令返回 0
用TTL key命令获取剩余过期时间 *TTL key命令后如果键不存在返回 -2。 如果键存在但没有设置过期时间返回 -1。 如果键设置了过期时间返回键剩余的秒数。
使用 SET命令与过期时间 在设置键值的同时设置过期时间
使用PERSIST key命令将其设置为永不过期 PEXPIRE命令 与 EXPIRE类似但设置的时间单位是毫秒
PTTL 命令 与 TTL类似但返回的时间单位是毫秒如图 Redis 的 String 类型在实际应用中有着广泛的用途从简单的键值对存储到复杂的实时系统都离不开 String 类型的支持。常见的应用场景包括缓存、计数器、分布式锁等 。