关键词

Redis APPEND命令

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.lmcjl.com #追加到末尾
(integer) 23
127.0.0.1:6379> GET url
"hello-www.lmcjl.com"

时间序列(Time series)

APPEND 命令可以为一系列定长(fixed-size)数据(sample)提供一种紧凑的表示方式,这种操作通常被应用于时间序列的表示上。

命令的格式如下所示:
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"

本文链接:http://task.lmcjl.com/news/19054.html

展开阅读全文