备注:测试版本 redis 4.0.9
文章目录
字符串(String)命令概述
命令 | 概述 |
---|---|
set key value | 设置指定key的值 |
get key | 获取指定的key值 |
GETRANGE KEY_NAME start end | 截取字符串 |
GETSET KEY_NAME VALUE | 返回给定 key 的旧值。 当 key 没有旧值时,即 key 不存在时,返回 nil |
GETBIT KEY_NAME OFFSET | 字符串值指定偏移量上的位 |
MGET KEY1 KEY2 … KEYN | 一个包含所有给定 key 的值的列表 |
Setbit KEY_NAME OFFSET | 指定偏移量原来储存的位 |
SETEX KEY_NAME TIMEOUT VALUE | 设置成功时返回 OK |
SETNX key value | 只有在 key 不存在时设置 key 的值。 |
SETRANGE key offset | value 用 value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始。 |
STRLEN key | 返回 key 所储存的字符串值的长度。 |
MSET key value [key value …] | 同时设置一个或多个 key-value 对。 |
MSETNX key value [key value …] | 同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。 |
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 原来的值的末尾 |
1.1 SET 命令
语法:
SET key value 设置指定 key 的值
测试记录
127.0.0.1:6379> set my_db "I love redis"
OK
127.0.0.1:6379> get my_db
"I love redis"
127.0.0.1:6379>
1.2 Get 命令
语法:
GET key 获取指定 key 的值。
测试记录
127.0.0.1:6379> set my_db "I love redis"
OK
127.0.0.1:6379> get my_db
"I love redis"
127.0.0.1:6379>
1.3 Getrange 命令
语法:
GETRANGE key start end 返回 key 中字符串值的子字符
测试记录
127.0.0.1:6379> set my_db "I love redis"
OK
127.0.0.1:6379> get my_db
"I love redis"
127.0.0.1:6379> getrange my_db 0 3
"I lo"
127.0.0.1:6379>
1.4 Getset 命令
语法:
GETSET key value 将给定 key 的值设为 value ,并返回 key 的旧值(old value)。
测试记录
127.0.0.1:6379> get my_db
"I love redis"
127.0.0.1:6379> getset my_db "I love"
"I love redis"
127.0.0.1:6379> getset my_db "I love MySQL"
"I love"
1.5 Mget 命令
语法:
MGET key1 [key2..] 获取所有(一个或多个)给定 key 的值。
测试记录
127.0.0.1:6379> set db1 Oracle
OK
127.0.0.1:6379> set db2 MySQL
OK
127.0.0.1:6379> mget db1 db2
1) "Oracle"
2) "MySQL"
127.0.0.1:6379> mget db1 db2 some()otherkey
1) "Oracle"
2) "MySQL"
3) (nil)
1.6 Setex 命令
语法:
SETEX key seconds value 将值 value 关联到 key ,并将 key 的过期时间设为 seconds (以秒为单位)。
测试记录
127.0.0.1:6379> setex db3 60 redis
OK
127.0.0.1:6379> get db3
"redis"
127.0.0.1:6379> TTL db3
(integer) 53
127.0.0.1:6379> TTL db3
(integer) 13
127.0.0.1:6379> TTL db3
(integer) -2
127.0.0.1:6379> get db3
(nil)
1.7 Setnx 命令
语法:
SETNX key value 只有在 key 不存在时设置 key 的值。
测试记录
127.0.0.1:6379> setnx db3 redis
(integer) 1
127.0.0.1:6379> setnx db3 redis
(integer) 0
127.0.0.1:6379>
1.8 Setrange 命令
语法:
SETRANGE key offset value 用 value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始。
测试记录
127.0.0.1:6379> SET key1 "Hello World"
OK
127.0.0.1:6379> SETRANGE key1 6 "Redis"
(integer) 11
1.9 Strlen 命令
语法:
STRLEN key 返回 key 所储存的字符串值的长度。
测试记录
127.0.0.1:6379> GET key1
"Hello Redis"
127.0.0.1:6379> SET mykey "Hello world"
OK
127.0.0.1:6379> STRLEN mykey
(integer) 11
1.10 Mset 命令
语法:
MSET key value [key value ...] 同时设置一个或多个 key-value 对。
测试记录
127.0.0.1:6379> MSET key1 "Hello" key2 "World"
OK
1.11 Msetnx 命令
语法:
MSETNX key value [key value ...] 同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。
测试记录
127.0.0.1:6379> MSETNX key1 "Hello" key2 "World"
(integer) 1
127.0.0.1:6379> get key1
"Hello"
127.0.0.1:6379> MSETNX key1 "Hello" key2 "World"
(integer) 0
127.0.0.1:6379>
1.12 incr、incrbyfloat、incrby、decr、decrby
语法:
INCR key 将 key 中储存的数字值增一。
INCRBY key increment 将 key 所储存的值加上给定的增量值(increment) 。
INCRBYFLOAT key increment 将 key 所储存的值加上给定的浮点增量值(increment) 。
DECR key 将 key 中储存的数字值减一。
DECRBY key decrement key 所储存的值减去给定的减量值(decrement) 。
测试记录
127.0.0.1:6379> set key 1
OK
127.0.0.1:6379> incr key
(integer) 2
127.0.0.1:6379> get key
"2"
127.0.0.1:6379>
127.0.0.1:6379> incrbyfloat key 100
"102"
127.0.0.1:6379> get key
"102"
127.0.0.1:6379>
127.0.0.1:6379> incrby key 11
(integer) 113
127.0.0.1:6379> get key
"113"
127.0.0.1:6379>
127.0.0.1:6379> decr key
(integer) 112
127.0.0.1:6379> get key
"112"
127.0.0.1:6379>
127.0.0.1:6379>
127.0.0.1:6379> decrby key 12
(integer) 100
127.0.0.1:6379> get key
"100"
127.0.0.1:6379>
1.13 append命令
语法:
APPEND key value 如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾。
测试记录
127.0.0.1:6379> set str 'abc'
OK
127.0.0.1:6379> get str
"abc"
127.0.0.1:6379> append str 'ddddd'
(integer) 8
127.0.0.1:6379> get str
"abcddddd"