Redis :String类型

String类型

String是Redis中的字符串,是Redis中最基本的数据类型,直接是按照二进制数据的进行存储

Redis中的所有key都是String类型,但是value是有差别的

常见的命令

set

将String类型的value存储到key中,如果之间有相同的key,则会将之间的值直接的进行覆盖

SET命令⽀持多种选项来影响它的⾏为

EX:设置key的过期时间,单位是秒

注:expire和EX的区别是:expire是给已经存在的key设置过期时间,而EX是给key赋值的同时,给key设置过期时间

PX:设置key的过期时间,单位是毫秒

NX:如果可以不存在才能进行设置,否则将会什么都不返回

XX:更新key的值

 

Mset

一次性设置多个key的值

 

setNX

只允许设置key不存在时的value,设置成功返回1,否则会返回0

setEX

设置过期时间,单位是秒

get

获取key对应的value,如果key不存在,将会返回nil(get只能获得String类型的value)

Mget

一次型获取多个key的值

相较于多次的发送get和set命令,mget和mset可以有效的减少网络时间,使性能更高,不需要多次发送命令

计数命令

incr

将key中对应的String类型的value的值+1

incrby

将key对应的String表示的数字加上对应的值 

decr

将key中对应的String类型的value的值-1

decrby

将key对应的String表示的数字减去对应的值 

incrbyfloat

将key对应的value +/- 去对应的数字

上述的时间复杂度都是O(1)

append

将新的value加到原来的value的后面

append的返回值,长度单位是字节,redis的字符串,不会对字符编码做任何的处理(reids不认识字符,只认字节)--->一个汉字是3个字节,所以只看字节不看字符

getrange

返回key对应的value其中的内容,由start和end确定(左闭右闭),可以使用负数表示倒数,-1表示返回的第一个字符,-2表示返回的倒数第二个字符

setrange

覆盖字串的一部分,从指定的偏移量开始 

strlen

获得String字串的长度,单位是字节

内部编码

String中的内部编码一共有三种

int:8字节的整数   

embstr:压缩字符串   

raw:普通字符串

String类型的应用场景

缓存(redis作为缓存来使用)

在redis中,通常用来存储热点数据,通常把最近使用过的数据定义为热点数据 ,但是随着时间的推移,使用过的数据越来越多,redis中的数据也越来越多,所以我们在redis中写数据的时候,会给数据设置过期时间

计数功能

许多应用都会使用redis作为计数的基础工具,它可以实现快速计数,查询缓存的功能

共享会话

一个分布式的服务将用户的信息保存到各自的服务器中,由于负载均衡的原因,会将用户的请求分布到不同的服务器上,导致用户每次一刷新,都需要重新的登录,所以我们使用redis,将session统一的存储的redis中,⽆论⽤⼾被均衡到哪台Web服务器上,都集中从 Redis 中查询、更新Session信息

手机验证码

很多应⽤出于安全考虑,会在每次进⾏登录时,让用户输⼊⼿机号并且配合给⼿机发送验证码, 然后让用户再次输⼊收到的验证码并进⾏验证,从⽽确定是否是用户本⼈。为了短信接⼝不会频繁访问,会限制用户每分钟获取验证码的频率

可以使用一下伪代码来实现一下redis在手机验证码限制验证时间使用

如果没有超过5次,那么就继续生成验证码发送给用户进行验证。

希望对大家有所帮助!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值