暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

redis string类型命令

原创 只是甲 2020-11-14
542

备注:测试版本 redis 4.0.9

Table of Contents

字符串(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"
复制

参考

1.https://www.redis.net.cn/tutorial/3505.html

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论

目录
  • 字符串(String)命令概述
    • 1.1 SET 命令
    • 1.2 Get 命令
    • 1.3 Getrange 命令
    • 1.4 Getset 命令
    • 1.5 Mget 命令
    • 1.6 Setex 命令
    • 1.7 Setnx 命令
    • 1.8 Setrange 命令
    • 1.9 Strlen 命令
    • 1.10 Mset 命令
    • 1.11 Msetnx 命令
    • 1.12 incr、incrbyfloat、incrby、decr、decrby
    • 1.13 append命令
  • 参考