Redis 字符串数据类型的相关命令用于管理 redis 字符串值,基本语法如下:
语法
redis 127.0.0.1:6379> COMMAND KEY_NAME
实例
redis 127.0.0.1:6379> SET runoobkey redis
OK
redis 127.0.0.1:6379> GET runoobkey
"redis"
在以上实例中我们使用了 SET 和 GET 命令,键为 runoobkey。
Redis 字符串命令
下表列出了常用的 redis 字符串命令:
- SET key value
设置指定 key 的值 - GET key
获取指定 key 的值。 - GETRANGE key start end
返回 key 中字符串值的子字符
redis 127.0.0.1:6379> SET mykey "This is my test key"
OK
redis 127.0.0.1:6379> GETRANGE mykey 0 3
"This"
redis 127.0.0.1:6379> GETRANGE mykey 0 -1
"This is my test key"
- GETSET key value
将给定 key 的值设为 value ,并返回 key 的旧值(old value)。
返回给定 key 的旧值。 当 key 没有旧值时,即 key 不存在时,返回 nil 。
当 key 存在但不是字符串类型时,返回一个错误。
(nil)
redis> GET db
"mongodb"
redis> GETSET db redis # 返回旧值 mongodb
"mongodb"
redis> GET db
"redis"
GETBIT key offset
对 key 所储存的字符串值,获取指定偏移量上的位(bit)。MGET key1 [key2..]
获取所有(一个或多个)给定 key 的值。SETBIT key offset value
对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。SETNX key value
只有在 key 不存在时设置 key 的值。
redis> EXISTS job # job 不存在
(integer) 0
redis> SETNX job "programmer" # job 设置成功
(integer) 1
redis> SETNX job "code-farmer" # 尝试覆盖 job ,失败
(integer) 0
redis> GET job # 没有被覆盖
"programmer"
- SETRANGE key offset value
用 value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始。
redis 127.0.0.1:6379> SET key1 "Hello World"
OK
redis 127.0.0.1:6379> SETRANGE key1 6 "Redis"
(integer) 11
redis 127.0.0.1:6379> GET key1
"Hello Redis"
STRLEN key
返回 key 所储存的字符串值的长度。MSET key value [key value ...]
同时设置一个或多个 key-value 对。PSETEX key milliseconds value
这个命令和 SETEX 命令相似,但它以毫秒为单位设置 key 的生存时间,而不是像 SETEX 命令那样,以秒为单位。INCR key
将 key 中储存的数字值增一。INCRBY key increment
将 key 所储存的值加上给定的增量值(increment) 。INCRBYFLOAT key increment
将 key 所储存的值加上给定的浮点增量值(increment) 。DECR key
将 key 中储存的数字值减一。DECRBY key decrement
key 所储存的值减去给定的减量值(decrement) 。APPEND key value
如果 key 已经存在并且是一个字符串, APPEND 命令将指定的 value 追加到该 key 原来值(value)的末尾。