Redis Getset 命令用于设置指定 key 的值,并返回 key 旧的值。
语法
redis Getset 命令基本语法如下:
redis 127.0.0.1:6379> GETSET KEY_NAME VALUE
可用版本
>= 1.0.0
返回值
返回给定 key 的旧值。 当 key 没有旧值时,即 key 不存在时,返回 nil 。
当 key 存在但不是字符串类型时,返回一个错误。
实例
首先,设置 mykey 的值并截取字符串。
redis 127.0.0.1:6379> GETSET mynewkey “This is my test key”
(nil)
redis 127.0.0.1:6379> GETSET mynewkey “This is my new value to test getset”
“This is my test key”
Redis Getrange 命令用于获取存储在指定 key 中字符串的子字符串。字符串的截取范围由 start 和 end 两个偏移量决定(包括 start 和 end 在内)。
语法
redis Getrange 命令基本语法如下:
redis 127.0.0.1:6379> GETRANGE KEY_NAME start end
可用版本
>= 2.4.0
返回值
截取得到的子字符串。
实例
首先,设置 mykey 的值并截取字符串。
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”
Redis Get 命令用于获取指定 key 的值。如果 key 不存在,返回 nil 。如果key 储存的值不是字符串类型,返回一个错误。
语法
redis Get 命令基本语法如下:
redis 127.0.0.1:6379> GET KEY_NAME
可用版本
>= 1.0.0
返回值
返回 key 的值,如果 key 不存在时,返回 nil。 如果 key 不是字符串类型,那么返回一个错误。
实例
# 对不存在的 key 或字符串类型 key 进行 GET
redis> GET db
(nil)
redis> SET db redis
OK
redis> GET db
“redis”
# 对不是字符串类型的 key 进行 GET
redis> DEL db
(integer) 1
redis> LPUSH db redis mongodb mysql
(integer) 3
redis> GET db
(error) ERR Operation against a key holding the wrong kind of value
Redis SET 命令用于设置给定 key 的值。如果 key 已经存储其他值, SET 就覆写旧值,且无视类型。
语法
redis SET 命令基本语法如下:
redis 127.0.0.1:6379> SET KEY_NAME VALUE
可用版本
>= 1.0.0
返回值
在 Redis 2.6.12 以前版本, SET 命令总是返回 OK 。
从 Redis 2.6.12 版本开始, SET 在设置操作成功完成时,才返回 OK 。
实例
首先,我们在 redis 中创建一个 key 并设置值。
# 对不存在的键进行设置
redis 127.0.0.1:6379> SET key “value”
OK
redis 127.0.0.1:6379> GET key
“value”
# 对已存在的键进行设置
redis 127.0.0.1:6379> SET key “new-value”
OK
redis 127.0.0.1:6379> GET key
“new-value”
Redis 字符串数据类型的相关命令用于管理 redis 字符串值,基本语法如下:
语法
redis 127.0.0.1:6379> COMMAND KEY_NAME
实例
redis 127.0.0.1:6379> SET w3ckey redis OK redis 127.0.0.1:6379> GET w3ckey “redis”
在以上实例中我们使用了 SET 和 GET 命令,键为 w3ckey。
Redis 字符串命令
下表列出了常用的 redis 字符串命令:
序号 命令及描述
1 SET key value 设置指定 key 的值
2 GET key 获取指定 key 的值。
3 GETRANGE key start end 返回 key 中字符串值的子字符
4 GETSET key value 将给定 key 的值设为 value ,并返回 key 的旧值(old value)。
5 GETBIT key offset 对 key 所储存的字符串值,获取指定偏移量上的位(bit)。
6 MGET key1 [key2..] 获取所有(一个或多个)给定 key 的值。
7 SETBIT key offset value 对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。
8 SETEX key seconds value 将值 value 关联到 key ,并将 key 的过期时间设为 seconds (以秒为单位)。
9 SETNX key value 只有在 key 不存在时设置 key 的值。
10 SETRANGE key offset value 用 value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始。
11 STRLEN key 返回 key 所储存的字符串值的长度。
12 MSET key value [key value …] 同时设置一个或多个 key-value 对。
13 MSETNX key value [key value …] 同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。
14 PSETEX key milliseconds value 这个命令和 SETEX 命令相似,但它以毫秒为单位设置 key 的生存时间,而不是像 SETEX 命令那样,以秒为单位。
15 INCR key 将 key 中储存的数字值增一。
16 INCRBY key increment 将 key 所储存的值加上给定的增量值(increment) 。
17 INCRBYFLOAT key increment 将 key 所储存的值加上给定的浮点增量值(increment) 。
18 DECR key 将 key 中储存的数字值减一。
19 DECRBY key decrement key 所储存的值减去给定的减量值(decrement) 。
20 APPEND key value 如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾。