Redis 系列(2) —— Redis 的字符串

Redis 字符串相关命令

1. 设置 Redis 的的值

设置 Redis 值的命令格式为 set key value [ex seconds | px milliseconds | keepttl] [nx|xx]

  • ex: 设置键的秒级过期时间
  • px: 设置键的毫秒级过期时间
  • keepttl:
  • nx: 键必须不存在才可以设置成功
  • xx: 键必须存在才可以设置成功

【示例】

#  设置键值对
127.0.0.1:6379> set hello world
OK

PS:
setxx key valuesetnx key value

2. 获取字符串的值

获取字符串的命令格式为 get key
【示例】

#  获取字符串的值
127.0.0.1:6379> get hello
"world"
3. 查看键是否存在

查看键是否存在的命令格式为exists key [key ...]

# 查看 key 是否存在
127.0.0.1:6379> exists hello
(integer) 1
127.0.0.1:6379> exists hello hello
(integer) 2
4. 设置多个值

设置多个值的命令格式为 mset key value [key value ...]
【示例】

# 设置多个值
127.0.0.1:6379> mset test1 demo1 test2 demo2 test3 demo3
OK
5. 获取多个值

获取多个值的命令格式为 mget key [key ...]
【示例】

# 获取多个值
127.0.0.1:6379> mget hello test1 test2 test3
1) "world"
2) "demo1"
3) "demo2"
4) "demo3"
6. 获取字符串长度

获取字符串长度的命令格式为 strlen key
【示例】

# 获取字符串长度
127.0.0.1:6379> strlen hello
(integer) 5
7. 删除键值对

删除键值对的命令格式为 del key [key]
【示例】

# 删除键值对
127.0.0.1:6379> del test3
(integer) 1
8. 在键不存在情况下设置值

在键不存在的情况下设置值setnx key valuemsetnx key value [key value ...]

9. 获取字符串指定索引范围上的内容

获取字符串值指定索引范围上的内容的命令格式为 getrange key start end
【示例】

# 获取字符串索引指定范围上的内容
127.0.0.1:6379> getrange test1 2 4
"mo1"
10. 对字符串的指定索引范围进行设置

对字符串的指定索引范围进行设置的命令格式为 setrange key offset value
【示例】

# 对字符串的指定索引范围进行设置
127.0.0.1:6379> setrange test1 2 mmmmmmmmm
(integer) 11
127.0.0.1:6379> get test1
"demmmmmmmmm"
11. 追加新内容到值的末尾

追加值到内容末尾的的命令格式为append key value
【示例】

# 追加新内容到值的末尾
127.0.0.1:6379> append test2 asr
(integer) 8
127.0.0.1:6379> get test2
"demo2asr"
12. 对数的增减

对整数增减命令格式为 incrby key incrementdecrby key decrment
自增自减命令为 incr keydecr key
对浮点数的增加命令格式为 incrbyfloat key increment

PSRedis没有对浮点数的减法命令

【示例】

127.0.0.1:6379> set number 5000
OK
127.0.0.1:6379> incrby number 50
(integer) 5050
127.0.0.1:6379> decrby number 50
(integer) 5000
127.0.0.1:6379> incr number
(integer) 5001
127.0.0.1:6379> decr number
(integer) 5000

Redis 字符串的使用方式

1. 缓存

缓存是 Redis 的典型使用场景,其中 Redis 作为缓存层,mysql 作为存储层,绝大部分请求数据都是从 Redis 中获取。由于 Redis 具有支撑高并发的特性,所以缓存通常能起到加速读写和降低后端压力的作用。
在这里插入图片描述

2. 计数器

许多应用都会使用 Redis 作为技术的基础工具,他可以实现快计数,,查询缓存的功能,同事可以异步到其他数据源。

3. 共享 Session

分布式 Web 服务将用户的 Session 信息保存在各自服务器中,这样会造成一个问题,处于负载均衡的考虑,分布式服务将会将用户的访问均衡到不同的服务器上,用户刷新一次访问可能会发现需要重新登陆,这个问题是用户无法容忍的。

为了解决这个问题,可以视同 Redis 将用户的 Session 进行集中管理。

在这里插入图片描述

4. ID 生成器

在共建应用程序时,我们经常会用到各式各样的 ID。 比如,存储用户信息时,每出现一个新用户是就需要创建一个新的用户 ID。 ID 通常会以数字形式出现,并且通过递增的方式来创建新的 ID。那么我们便可以使用 Redis 的自增命令来实现一个 ID 生成器。

5. 限速器

很多应用处于安全考虑会在每次进行登录时,让用户输入手机验证码,从而确定是否是用户本人,但是为了短信接口不被频繁访问,会限制用户每分中获取验证码的频率。我们可以使用 Redis 分布式锁的概念来进行限速

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

求和的小熊猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值