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 具有支撑高并发的特性,所以缓存通常能起到加速读写和降低后端压力的作用。
Redis 系列(2) —— Redis 的字符串_第1张图片

2. 计数器

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

3. 共享 Session

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

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

Redis 系列(2) —— Redis 的字符串_第2张图片

4. ID 生成器

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

5. 限速器

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

你可能感兴趣的:(Redis,系列)