Redis APPEND令

2年前 (2024-04-27)
Redis APPEND 令用于为指定的 key 追加值。

如果 key 已经存在并且是一个字符串, APPEND 令将 value 追加到 key 原来的值的末尾。当 key 不存在时,它就为这个 key 设置 value 值,等同于 SET key value 操作。

可用版本

Redis APPEND 令可用版本:>= 2.0.0。

语法

APPEND key value

返回值

追加 value 之后, key 存储的字符串长度。

令演示

127.0.0.1:6379> del url #确保url不存在,删除key

(integer) 0

127.0.0.1:6379> APPEND url hello #自动创建,并设置value

(integer) 5

127.0.0.1:6379> APPEND url -www.biancheng网站站点" rel="nofollow" />

APPEND timeseries "fixed-size sample"

通过以下的方式可以访问时间序列的各项属性:
  • STRLEN:给出时间序列中数据的数量;

  • GETRANGE:可以用于随机访问;

  • SETRANGE:可以用于覆盖或修改已存在的的时间序列。


这个方法的缺陷就是只能增长时间序列,而不能缩短。因为 Redis 目前还没有对字符串进行修剪(tirm)的令,但是,这种储存方式仍然节省了大量空间。

提示:我们可以考虑使用 UNIX 时间戳作为时间序列的键名,这样可以避免单个 key 因为保存过大的时间序列而占用大量内存。

下面是一个时间序列的例子:

127.0.0.1:6379> APPEND ts "0054"

(integer) 4

127.0.0.1:6379> APPEND ts "0048"

(integer) 8

127.0.0.1:6379> GETRANGE ts 0 3

"0054"

127.0.0.1:6379> GETRANGE ts 4 7

"0048"