redis命令 - APPEND
2016-01-24 14:19
531 查看
APPEND key
value
加入版本 2.0.0。
时间复杂度: O(1). The amortized time complexity isO(1) 因为redis用的动态字符串的库在每次分配空间的时候会增加一倍的可用空闲空间,所以在添加的value较小而且已经存在的 value是任意大小的情况下,均摊时间复杂度是O(1)
。
如果
key已经存在,并且值为字符串,那么这个命令会把
value追加到原来值(value)的结尾。 如果
key不存在,那么它将首先创建一个空字符串的key,再执行追加操作,这种情况
APPEND 将类似于 SET 操作。
返回值
整数回复(Integer reply):返回append后字符串值(value)的长度。例子
redis>EXISTS mykey
(integer) 0
redis> APPEND mykey "Hello"
(integer) 5
redis> APPEND mykey " World"
(integer) 11
redis> GET mykey
"Hello World"
redis>
Pattern: Time series
The APPEND command can be used to create a very compact representation of a list of fixed-size samples, usually referred astime series. Every time a new sample arrives we can store it using the command
APPEND timeseries "fixed-size sample"
Accessing individual elements in the time series is not hard:
STRLEN can be used in order to obtain the number of samples.
GETRANGE allows for random access of elements. If our time series have associated time information we can easily implement a binary search to get range combining
GETRANGE with the Lua scripting engine available in Redis 2.6.
SETRANGE can be used to overwrite an existing time series.
The limitation of this pattern is that we are forced into an append-only mode of operation, there is no way to cut the time series to a given size easily because Redis currently lacks a command able to trim string objects. However the space efficiency of
time series stored in this way is remarkable.
Hint: it is possible to switch to a different key based on the current Unix time, in this way it is possible to have just a relatively small amount of samples per key, to avoid dealing with very big keys, and to make this pattern more friendly to be distributed
across many Redis instances.
An example sampling the temperature of a sensor using fixed-size strings (using a binary format is better in real implementations).
redis>
APPEND ts "0043"
(integer) 4
redis> APPEND ts "0035"
(integer) 8
redis> GETRANGE ts 0 3
"0043"
redis> GETRANGE ts 4 7
"0035"
redis>
相关文章推荐
- redis安装问题小结
- Redis偶发连接失败案例实战记录
- Redis中实现查找某个值的范围
- Redis和Memcached的区别详解
- 分割超大Redis数据库例子
- Redis总结笔记(一):安装和常用命令
- Redis sort 排序命令详解
- 用Redis实现微博关注关系
- redis中修改配置文件中的端口号 密码方法
- 在Ruby on Rails上使用Redis Store的方法
- Redis和Memcache的区别总结
- 在Node.js应用中使用Redis的方法简介
- Redis服务器的启动过程分析
- web 应用中常用的各种 cache详解
- 利用yum安装Redis的方法详解
- 从MySQL到Redis的简单数据库迁移方法
- 为啥懒 Redis 是更好的 Redis
- 利用Redis实现SQL伸缩的方法
- 在Redis数据库中实现分布式速率限制的方法
- PHP+redis实现添加处理投票的方法