备注:测试版本 redis 4.0.9
Table of Contents
- 字符串(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命令
- 参考
字符串(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"
复制
参考
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
文章被以下合辑收录
评论
相关阅读
Redis 挂 AGPLv3 “战袍”,开源江湖风云突变
青年数据库学习互助会
67次阅读
2025-05-08 10:04:49
Redis改协议内幕曝光!核心开发者亲述被“踢出局”,外部贡献者几乎全跑光了!
老鱼笔记
47次阅读
2025-04-17 10:41:56
Redis数据库——Cluster集群模式
编程Cookbook
46次阅读
2025-04-16 15:34:44
Redis 8.0:开启一体化多功能开源数据平台新时代
老王两点中
34次阅读
2025-05-12 09:00:43
亚马逊:MemoryDB,一款内存优先的云数据库
数据库应用创新实验室
30次阅读
2025-04-18 09:54:15
优雅遍历和删除特定开头的key
陌殇流苏
27次阅读
2025-04-25 12:17:03
redis初识
chirpyli
23次阅读
2025-05-07 17:32:31
Redis数据库——内存分配器
编程Cookbook
18次阅读
2025-04-14 12:59:10
Redka:基于 SQLite 的 Redis 替代方案
老柴杂货铺
17次阅读
2025-04-13 11:26:41
Redis数据库——持久化机制
编程Cookbook
14次阅读
2025-04-15 11:32:38