Redis入门(二)

Redis字符串(String)

Redis 的字符串(String)是最基本的数据类型之一,它可以存储任意类型的字符串数据,包括文本和二进制数据。字符串的最大长度为 512 MB。Redis 提供了丰富的命令来操作字符串,包括设置、获取、递增、递减等操作。

基本概念

键(Key):字符串的主键。
值(Value):与键关联的字符串值。

常用命令

1.SET:设置键的字符串值

SET key value
  • key:字符串的主键。
  • value:要设置的值。

示例:

SET mykey Hello,world!

返回:OK 

2.GET:获取键的字符串值 

GET key
  • key:字符串的主键。

示例: 

GET mykey

返回:"Hello, World!"

3.GETSET:将键的值设置为新的值,并返回旧的值

GETSET key newvalue
  • key:字符串的主键。
  • newvalue:新的值。 

示例:

GETSET mykey "New Value"  

 返回:"Hello, World!"

4.MSET:同时设置一个或多个键的值 

 

MSET key1 value1 key2 value2 ...
  • key1value1key2value2:键和对应的值。

示例:

MSET key1 "value1" key2 "value2"

 5.MGET:获取所有给定键的值

MGET key1 key2 ...
  • key1key2:键。

示例:

MGET key1 key2  

 返回: "value1" "value2"

6.DEL:删除一个或多个键

DEL key1 key2 ...
  • key1key2:键。

示例:

DEL key1 key2

 7.EXISTS:检查一个或多个键是否存在

EXISTS key1 key2 ...
  • key1key2:键。

示例:

EXISTS key1 key2  

 返回:1(表示存在)

8.INCR:将键的值增加 1

INCR key
  • key:字符串的主键。

示例:

INCR counter 

 返回:如果 counter 的初始值为 0,则返回 1

9.DECR:将键的值减少 1 

DECR key
  • key:字符串的主键。

示例:

DECR counter  

 返回:如果 counter 的初始值为 1,则返回 0

10.INCRBY:将键的值增加指定的整数值

INCRBY key increment
  • key:字符串的主键。
  • increment:要增加的值。

示例:

INCRBY counter 5  

返回:如果 counter 的初始值为 0,则返回 5

11.DECRBY:将键的值减少指定的整数值

DECRBY key decrement
  • key:字符串的主键。
  • decrement:要减少的值。

示例:

DECRBY counter 5  

返回:如果 counter 的初始值为 5,则返回 0

12.INCRBYFLOAT:将键的值增加指定的浮点数值

INCRBYFLOAT key increment
  • key:字符串的主键。
  • increment:要增加的值

示例:

INCRBYFLOAT counter 2.5  

 返回:如果 counter 的初始值为 0,则返回 2.5

13.APPEND:将值追加到键的现有值后面

APPEND key value
  • key:字符串的主键。
  • value:要追加的值。

示例:

APPEND mykey " and Hello, Redis!"  

 返回:如果 mykey 的初始值为 "Hello, World!",则返回 "Hello, World! and Hello, Redis!"

14.GETRANGE:获取键的值的一部分 

GETRANGE key start end
  • key:字符串的主键。
  • startend:起始和结束索引,从 0 开始。

示例:

GETRANGE mykey 0 5  

 返回:如果 mykey 的值为 "Hello, World!",则返回 "Hello,"

 15.SETRANGE:修改键的值的一部分

SETRANGE key offset value
  • key:字符串的主键。
  • offset:起始索引,从 0 开始。
  • value:要设置的值。

示例:

SETRANGE mykey 7 "Redis"  

 返回:如果 mykey 的值为 "Hello, World!",则返回 "Hello, Redis!"

16.STRLEN:获取键的值的长度 

STRLEN key
  • key:字符串的主键。

示例:

STRLEN mykey 

 返回:如果 mykey 的值为 "Hello, World!",则返回 13

17.SETNX:只有当键不存在时,才设置键的值

SETNX key value
  • key:字符串的主键。
  • value:要设置的值。

示例:

SETNX mykey "Hello, World!" 

 返回:如果 mykey 不存在,则返回 1 并设置值

18.SETEX:将键的值设置为指定的字符串,并设置键的过期时间(以秒为单位) 

SETEX key seconds value
  • key:字符串的主键。
  • seconds:过期时间(以秒为单位)。
  • value:要设置的值。

示例:

SETEX mykey 10 "Hello, World!"  

 返回:设置 mykey 的值为 "Hello, World!",并设置过期时间为 10 秒

19.PSETEX:将键的值设置为指定的字符串,并设置键的过期时间(以毫秒为单位)

PSETEX key milliseconds value
  • key:字符串的主键。
  • milliseconds:过期时间(以毫秒为单位)。
  • value:要设置的值。

示例:

PSETEX mykey 10000 "Hello, World!"  

 返回:设置 mykey 的值为 "Hello, World!",并设置过期时间为 10000 毫秒(10 秒)

综合示例

假设我们要存储和操作一些字符串数据:

# 设置键的值
SET mykey "Hello, World!"

# 获取键的值
GET mykey  # 返回 "Hello, World!"

# 将键的值设置为新的值,并返回旧的值
GETSET mykey "New Value"  # 返回 "Hello, World!"

# 同时设置多个键的值
MSET key1 "value1" key2 "value2"

# 获取多个键的值
MGET key1 key2  # 返回 "value1" "value2"

# 删除键
DEL key1 key2

# 检查键是否存在
EXISTS mykey  # 返回 1(存在)

# 递增键的值
INCR counter  # 如果 counter 的初始值为 0,则返回 1

# 递减键的值
DECR counter  # 如果 counter 的初始值为 1,则返回 0

# 递增键的值指定的整数值
INCRBY counter 5  # 如果 counter 的初始值为 0,则返回 5

# 递减键的值指定的整数值
DECRBY counter 5  # 如果 counter 的初始值为 5,则返回 0

# 递增键的值指定的浮点数值
INCRBYFLOAT counter 2.5  # 如果 counter 的初始值为 0,则返回 2.5

# 将值追加到键的现有值后面
APPEND mykey " and Hello, Redis!"  # 如果 mykey 的值为 "Hello, World!",则返回 "Hello, World! and Hello, Redis!"

# 获取键的值的一部分
GETRANGE mykey 0 5  # 如果 mykey 的值为 "Hello, World!",则返回 "Hello,"

# 修改键的值的一部分
SETRANGE mykey 7 "Redis"  # 如果 mykey 的值为 "Hello, World!",则返回 "Hello, Redis!"

# 获取键的值的长度
STRLEN mykey  # 如果 mykey 的值为 "Hello, Redis!",则返回 13

# 只有当键不存在时,才设置键的值
SETNX mykey "Hello, World!"  # 如果 mykey 已存在,则返回 0

# 将键的值设置为指定的字符串,并设置键的过期时间(以秒为单位)
SETEX mykey 10 "Hello, World!"  # 设置 mykey 的值为 "Hello, World!",并设置过期时间为 10 秒

# 将键的值设置为指定的字符串,并设置键的过期时间(以毫秒为单位)
PSETEX mykey 10000 "Hello, World!"  # 设置 mykey 的值为 "Hello, World!",并设置过期时间为 10000 毫秒(10 秒)

 通过这些命令,Redis 的字符串(String)功能可以非常高效地处理和操作字符串数据,适用于多种实际应用场景,如缓存、计数器等。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值