Redis字符串(string)
Redis 中的 String 是最基本的数据结构之一,它是二进制安全的,意味着 String 类型的值可以包含任何数据,包括图片、序列化对象等等。
基本操作
SET
设置一个键值对:
SET key value [EX seconds] [PX milliseconds] [NX|XX]
参数解释:
key
:键名。value
:键值。EX seconds
:设置过期时间,单位为秒。PX milliseconds
:设置过期时间,单位为毫秒。NX
:仅在键不存在时才设置值。XX
:仅在键已存在时才设置值。
示例:
SET name "Redis"
GET
获取一个键的值:
GET key
参数解释:
key
:键名。
示例:
GET name
MSET
设置多个键值对:
MSET key1 value1 [key2 value2 ...]
参数解释:
key1
:键名。value1
:键值。
示例:
MSET name "Redis" age 10
MGET
获取多个键的值:
MGET key1 [key2 ...]
参数解释:
key1
:键名。
示例:
MGET name age
进阶操作
INCR
将键对应的值加一:
INCR key
参数解释:
key
:键名。
示例:
SET count 1
INCR count
DECR
将键对应的值减一:
DECR key
参数解释:
key
:键名。
示例:
SET count 1
DECR count
INCRBY
将键对应的值加上指定的整数:
INCRBY key increment
参数解释:
key
:键名。increment
:要增加的整数值。
示例:
SET count 1
INCRBY count 2
DECRBY
将键对应的值减去指定的整数:
DECRBY key decrement
参数解释:
key
:键名。decrement
:要减少的整数值。
示例:
SET count 3
DECRBY count 2
APPEND
将指定字符串追加到键对应的值的末尾:
APPEND key value
参数解释:
key
:键名。value
:要追加的字符串。
示例:
SET greeting "Hello"
APPEND greeting " Redis"
STRLEN
获取键对应的值的长度:
STRLEN key
参数解释:
key
:键名。
示例:
SET greeting "Hello Redis"
STRLEN greeting
应用场景
缓存
String 类型的值可以用于缓存访问量较大的数据,如网站首页、文章列表等。设置一个过期时间可以避免缓存数据过期不更新的问题。
计数器
可以使用 INCR 和 DECR 等命令实现计数器功能,如网站的访问量统计。
分布式锁
可以使用 SET 命令设置一个键值对,键名代表锁的名字,键值代表锁的持有者。使用 NX 参数可以保证只有一个客户端能够成功获取锁。使用 EX 参数可以设置锁的过期时间,防止死锁的发生。