字符串
Redis 中所有键都是字符串
字符串类型是Redis最基础的数据结构 ,其他几种数据结构都是在字符串类型基础上构建的, 所以字符串类型能为其 他四种数据结构的学习奠定基础。
字符串类型的值实际可以是字符串(简单的字符串、 复杂的字符串(例如JSON、 XML) ) 、 数字(整数、 浮点数) , 甚至是二进制(图片、 音频、 视频) , 但是值最大不能超过512MB。
命令
设置字段
set key value [ex seconds] [px milliseconds] [nx|xx]
·ex seconds: 为键设置秒级过期时间。 ·px milliseconds: 为键设置毫秒级过期时间。 ·nx: 键必须不存在, 才可以设置成功, 用于添加。 ·xx: 与nx相反, 键必须存在, 才可以设置成功, 用于更新。 除了set选项, Redis还提供了 setex
和 setnx
两个命令:
setex key seconds value setnx key value
它们的作用和 ex 和 nx 选项是一样的。
获取值
get key
批量设置值
mset key value [key value ...]
批量获取值
mget key [key...]
自增
incer key
返回结果分为三种情况: ·值不是整数, 返回错误。 ·值是整数, 返回自增后的结果。 ·键不存在, 按照值为0自增, 返回结果为1。 例如对一个不存在的键执行incr操作后, 返回结果是1
以下为不常用命令:
追加值
append key value
append 可以向字符串尾部追加值
字符串长度
strlen key
设置并返回原值
getset key
设置键值的同时返回的是原键值
设置指定位置的字符
setrange key offeset value
获取部分字符串
getrange key start end
start和end分别是开始和结束的偏移量, 偏移量从0开始计算
内部编码
字符串类型的内部编码有3种: ·int: 8个字节的长整型。 ·embstr: 小于等于39个字节的字符串。 ·raw: 大于39个字节的字符串。