文章目录:
1.开篇
Redis字符串数据类型的相关命令用于管理 redis 字符串值,基本语法如下:
redis 127.0.0.1:6379> COMMAND KEY_NAME
2.Redis字符串(String)的相关命令
序号 |
命令及描述 |
1 |
SET key value |
2 |
GET key |
3 |
GETRANGE key start end |
4 |
GETSET key value |
5 |
GETBIT key offset |
6 |
MGET key1 [key2...] |
7 |
SETBIT key offset value |
8 |
SETEX key seconds value |
9 |
SETNX key value |
10 |
SETRANGE key offset value |
11 |
STRLEN key |
12 |
MSET key value [key value...] |
13 |
MSETNX key value [key value...] |
14 |
PSETEX key milliseconds value |
15 |
INCR key |
16 |
INCRBY key increment |
17 |
INCRBYFLOAT key increment |
18 |
DECR key |
19 |
DECRBY key decrement |
20 |
APPEND key value |
2.1 SET命令
Redis SET 命令用于设置给定 key 的值。如果 key 已经存储其他值, SET 就覆写旧值,且无视类型。
redis 127.0.0.1:6379> SET KEY_NAME VALUE
在 Redis 2.6.12 以前版本, SET 命令总是返回 OK 。
从 Redis 2.6.12 版本开始, SET 在设置操作成功完成时,才返回 OK 。
Redis Get 命令用于获取指定 key 的值。如果 key 不存在,返回 nil 。如果key 储存的值不是字符串类型,返回一个错误。
redis 127.0.0.1:6379> GET KEY_NAME
返回 key 的值,如果 key 不存在时,返回 nil。如果 key 不是字符串类型,那么返回一个错误。
Redis Mset 命令用于同时设置一个或多个 key-value 对。
redis 127.0.0.1:6379> MSET key1 value1 key2 value2 .. keyN valueN
总是返回 OK 。
Redis Mget 命令返回所有(一个或多个)给定 key 的值。如果给定的 key 里面,有某个 key 不存在,那么这个 key 返回特殊值 nil 。
redis 127.0.0.1:6379> MGET KEY1 KEY2 .. KEYN
一个包含所有给定 key 的值的列表。
Redis Setnx(SET if Not eXists)命令在指定的 key 不存在时,为 key 设置指定的值。
redis 127.0.0.1:6379> SETNX KEY_NAME VALUE
设置成功,返回 1 。设置失败,返回 0 。
Redis Msetnx 命令用于所有给定 key 都不存在时,同时设置一个或多个 key-value 对。
redis 127.0.0.1:6379> MSETNX key1 value1 key2 value2 .. keyN valueN
当所有 key 都成功设置,返回 1 。如果所有给定 key 都设置失败(至少有一个 key 已经存在),那么返回 0 。
Redis Setrange 命令用指定的字符串覆盖给定 key 所储存的字符串值,覆盖的位置从偏移量 offset 开始。
redis 127.0.0.1:6379> SETRANGE KEY_NAME OFFSET VALUE
redis 127.0.0.1:6379> SETRANGE KEY_NAME OFFSET VALUE
被修改后的字符串长度。
Redis Getrange 命令用于获取存储在指定 key 中字符串的子字符串。字符串的截取范围由 start 和 end 两个偏移量决定(包括 start 和 end 在内)。
redis 127.0.0.1:6379> GETRANGE KEY_NAME start end
截取得到的子字符串。
Redis Getset 命令用于设置指定 key 的值,并返回 key 的旧值。
redis 127.0.0.1:6379> GETSET KEY_NAME VALUE
返回给定 key 的旧值。当 key 没有旧值时,即 key 不存在时,返回 nil 。
当 key 存在但不是字符串类型时,返回一个错误。
Redis Setbit 命令用于对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。
redis 127.0.0.1:6379> Setbit KEY_NAME OFFSET
指定偏移量原来储存的位。
2.11 GETBIT命令
Redis Getbit 命令用于对 key 所储存的字符串值,获取指定偏移量上的位(bit)。
redis 127.0.0.1:6379> GETBIT KEY_NAME OFFSET
字符串值指定偏移量上的位(bit)。
当偏移量 OFFSET 比字符串值的长度大,或者 key 不存在时,返回 0 。
Redis Setex 命令为指定的 key 设置值及其过期时间。如果 key 已经存在, SETEX 命令将会替换旧的值。
redis 127.0.0.1:6379> SETEX KEY_NAME TIMEOUT VALUE
设置成功时返回 OK 。
Redis Psetex 命令以毫秒为单位设置 key 的生存时间。
redis 127.0.0.1:6379> PSETEX key1 EXPIRY_IN_MILLISECONDS value1
设置成功时返回 OK 。
Redis Strlen 命令用于获取指定 key 所储存的字符串值的长度。当 key 储存的不是字符串值时,返回一个错误。
redis 127.0.0.1:6379> STRLEN KEY_NAME
字符串值的长度。当 key 不存在时,返回 0。
Redis Incr 命令将 key 中储存的数字值增一。
如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。
如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。
本操作的值限制在 64 位(bit)有符号数字表示之内。
redis 127.0.0.1:6379> INCR KEY_NAME
执行 INCR 命令之后 key 的值。
Redis Incrby 命令将 key 中储存的数字加上指定的增量值。
如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCRBY 命令。
如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。
本操作的值限制在 64 位(bit)有符号数字表示之内。
redis 127.0.0.1:6379> INCRBY KEY_NAME INCR_AMOUNT
加上指定的增量值之后, key 的值。
Redis Decr 命令将 key 中储存的数字值减一。
如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECR 操作。
如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。
本操作的值限制在 64 位(bit)有符号数字表示之内。
redis 127.0.0.1:6379> DECR KEY_NAME
执行命令之后 key 的值。
Redis Decrby 命令将 key 所储存的值减去指定的减量值。
如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECRBY 操作。
如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。
本操作的值限制在 64 位(bit)有符号数字表示之内。
redis 127.0.0.1:6379> DECRBY KEY_NAME DECREMENT_AMOUNT
减去指定减量值之后, key 的值。
Redis Append 命令用于为指定的 key 追加值。
如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾。
如果 key 不存在, APPEND 就简单地将给定 key 设为 value ,就像执行 SET key value 一样。
redis 127.0.0.1:6379> APPEND KEY_NAME NEW_VALUE
追加指定值之后, key 中字符串的长度。