「进击Redis」四、Redis 字符串API、运用场景解析

34 篇文章 5 订阅
10 篇文章 0 订阅
本文详细介绍了Redis中字符串类型的基础知识和常用API,包括设置、获取、批量操作、计数等命令,以及一些不常用但实用的命令如追加、长度计算等。通过实例演示了各种操作,帮助读者掌握Redis字符串的使用。此外,还提及了字符串在分布式锁等场景的应用。
摘要由CSDN通过智能技术生成

前言

本来想着这篇和上篇Reids 的数据结构、线程模型与全局命令合成一篇的,但是不知不觉上一篇的篇幅已经很长了,像我一样。就拆分成了两篇。可是一点都不带水的,主要是怕各位好哥哥看的累。都这样说了还不点赞加关注吗。
这一篇呢主要是讲字符串对应的 API,还是那句话,好哥哥,别偷懒,敲了才不容易忘啊。
冲冲冲

概述

字符串类型是 Redis 最基础的数据结构。首先键都是字符串类型,而且其他几种数据结构都是在字符串类型基础上构建的,所以字符串类型能为其 他四种数据结构的学习奠定基础。字符串类型的值实际可以是字符串(简单的字符串、复杂的字符串(例如 JSON、XML))、数字 (整数、浮点数),甚至是二进制(图片、音频、视频),但是值最大不能 超过 512MB。

1 常用命令

1.1 设置值-set
 ## 参数解析
 ## ex seconds:为键设置秒级过期时间。px milliseconds:为键设置毫秒级过期时间。
 ## nx:键必须不存在,才可以设置成功,用于添加。xx:与nx相反,键必须存在,才可以设置成功,用于更新。
 set key value [ex seconds] [px milliseconds] [nx|xx]
 ## 例子
 set test hello
1.2 设置值-setex/setnx

setnx 这个命令可是很有用的,如果 key 存在则失败,好哥哥想想这个可以干嘛。答案是肯定的,分布式锁。这个后续会在说的,先把命令熟悉了。

 ## 格式
 setex key seconds value
 setnx key value
 ## 因为键test已存在,所以setnx会失败,返回结果为0
 setnx test redis
 ## 因为键test已存在,所以setex会成功,并修改对应的值
 setex test 60 redis
1.3 获取值
## 格式
get key
## 获取testkey,返回的就是你设置的那个值了,如果key不存在则返回(nil)
get test
1.4 批量设置值
## 格式
mset key value [key value ...]
## 例子
mset a 1 b 2 c 3 d 4
1.5 批量获取值
## 格式
mget key [key ...]
## 例子,返回的结果就是按顺序对应key的值了,如果不存在这是(nil)
mget a b c
1.6 计数-incr
## incr 的值是一个自增操作,如果值不是整数是会报错的,如果key不存在,执行命令返回的就是1,否则则是自增加一。
incr key
## 第一次计数,返回1
incr auto
## 第二次计数,返回2
incr auto
1.7 decr、incrby、decrby、incrbyfloat
## decr(自减)、incrby(自增指定数字)、 decrby(自减指定数字)、incrbyfloat(自增浮点数)
decr key
incrby key increment
decrby key decrement
incrbyfloat key increment

2 非常用命令

2.1 追加值
 ## 格式
 append key value
 ## 给test追加,返回的是值的长度
 append test yyds
2.2 返回值的长度
 ## 格式
 strlen key
 ## 获取test值长度,需要注意的是一个中文占3个字节。
 strlen test
2.3 设置并返回原来值
 ## 格式
 getset key value
 ## 如果key不存在则返回(nil),否则就返回设值前的值
  getset test hello1
2.4 设置指定位置的字符
 ## 格式,没想到吧,这命令都有。
 setrange key offeset value
 ## 将test第五个位置改成 world(从0开始算)
 setrange test 5  world
2.5 获取部分值
 ## 格式,从哪个位置到哪个位置,从0开始算
 getrange key start end
 ## 获取0-1的字符,返回he
 getrange test 0 1

3 时间复杂度

String命令时间复杂度

4 使用场景

本期就到这啦,有不对的地方欢迎好哥哥们评论区留言,另外 求 关 注 、 求 点 赞 \color{#FF0000}{求关注、求点赞}

下一篇:Hash 表应用场景、API解析
上一篇:Reids 的数据结构、线程模型与全局命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值