这是我父亲 日记里的文字
这是他的生命 留下留下来的散文诗
几十年后 我看着泪流不止
可我的父亲已经 老得像一个影子
🎵 许飞《父亲写的散文诗》
Redis 是一个开源的内存数据库,支持多种数据结构,其中字符串是最基本、最常用的数据类型之一。Redis 的字符串不仅可以存储文本,还可以存储二进制数据,如图片或序列化的对象。本文将详细介绍 Redis 字符串的常用指令及其使用方法。
Redis 字符串指令指南
Redis 是一个开源的内存数据库,支持多种数据结构,其中字符串是最基本、最常用的数据类型之一。Redis 的字符串不仅可以存储文本,还可以存储二进制数据,如图片或序列化的对象。本文将详细介绍 Redis 字符串的常用指令及其使用方法。
一、基本操作
1. 设置和获取值
SET
SET 命令用于设置指定 key 的值。如果 key 已经存在,SET 将覆盖旧值。
SET key value
示例:
SET mykey "Hello, Redis!"
GET
GET 命令用于获取指定 key 的值。
GET key
示例:
GET mykey
2. 检查和删除值
EXISTS
EXISTS 命令用于检查指定 key 是否存在。
EXISTS key
示例:
EXISTS mykey
DEL
DEL 命令用于删除指定 key。
DEL key
示例:
DEL mykey
二、字符串操作
1. 追加值
APPEND
APPEND 命令用于将值追加到指定 key 的当前值之后。如果 key 不存在,它将创建一个新的 key。
APPEND key value
示例:
SET mykey "Hello"
APPEND mykey ", Redis!"
GET mykey
# 返回 "Hello, Redis!"
2. 获取字符串长度
STRLEN
STRLEN 命令用于获取指定 key 的值的长度。
STRLEN key
示例:
SET mykey "Hello, Redis!"
STRLEN mykey
# 返回 13
3. 获取和设置子字符串
GETRANGE
GETRANGE 命令用于获取指定 key 的值的子字符串,起始和结束位置由偏移量决定。
GETRANGE key start end
示例:
SET mykey "Hello, Redis!"
GETRANGE mykey 0 4
# 返回 "Hello"
SETRANGE
SETRANGE 命令用于设置指定 key 的值的子字符串,从指定的偏移量开始。
SETRANGE key offset value
示例:
SET mykey "Hello, Redis!"
SETRANGE mykey 7 "World"
GET mykey
# 返回 "Hello, World!"
4. 设置和获取位(bit)
SETBIT
SETBIT 命令用于设置指定 key 的值的位(bit),从指定偏移量开始。
SETBIT key offset value
示例:
SETBIT mykey 7 1
GETBIT
GETBIT 命令用于获取指定 key 的值的位(bit),从指定偏移量开始。
GETBIT key offset
示例:
GETBIT mykey 7
三、数值操作
- 增加和减少值
INCR
INCR 命令用于将指定 key 的值加1。如果 key 不存在,它将创建一个 key 并设置初始值为0,然后再加1。
INCR key
示例:
SET mykey 10
INCR mykey
# mykey 现在的值是 11
DECR
DECR 命令用于将指定 key 的值减1。如果 key 不存在,它将创建一个 key 并设置初始值为0,然后再减1。
DECR key
示例:
SET mykey 10
DECR mykey
# mykey 现在的值是 9
2. 按指定增量增加和减少值
INCRBY
INCRBY 命令用于将指定 key 的值增加指定的增量。
INCRBY key increment
示例:
SET mykey 10
INCRBY mykey 5
# mykey 现在的值是 15
DECRBY
DECRBY 命令用于将指定 key 的值减少指定的减量。
DECRBY key decrement
示例:
SET mykey 10
DECRBY mykey 3
# mykey 现在的值是 7
3. 设置并获取新值
GETSET
GETSET 命令用于设置指定 key 的值,并返回旧值。
GETSET key value
示例:
SET mykey "Hello"
GETSET mykey "Redis"
# 返回 "Hello"
# mykey 现在的值是 "Redis"
四、带条件的设置值
1. 仅在 key 不存在时设置
`SETNX```
SETNX 命令用于仅当 key 不存在时设置 key 的值。
SETNX key value
示例:
SETNX mykey "Hello"
SETNX mykey "Redis"
GET mykey
# 仍然返回 "Hello"
2. 设置带有过期时间的值
SETEX
SETEX 命令用于设置 key 的值,并设置过期时间(以秒为单位)。
SETEX key seconds value
示例:
SETEX mykey 10 "Hello, Redis!"
五、获取多个值
MGET
MGET 命令用于获取多个 key 的值。
MGET key1 key2 ... keyN
示例:
SET key1 "Hello"
SET key2 "Redis"
MGET key1 key2
# 返回 ["Hello", "Redis"]
结论
Redis 提供了丰富的字符串操作指令,这些指令可以帮助我们高效地处理各种字符串数据。通过掌握这些基本指令,你可以更好地利用 Redis 来实现各种应用场景,如缓存、会话存储、计数器等。希望本文对你了解和使用 Redis 字符串指令有所帮助。如果你有任何问题或需要进一步的帮助,欢迎随时提问。