Redis学习笔记#1:Strings
Redis的数据类型String,它是二进制安全的,意思是Redis的String可以包含任何数据,比如jpg图片或者序列化的对象。
String的值不能大于512M。
#基本命令
set foo "bar" get foo
#不存在时才执行NX,存在时才执行XX
set foo "will not success" NX set foo "will success" XX
#EX 秒数 PX 毫秒数 N秒后过期
#10秒后过期 set foo bar EX 10 setex foo 10 bar psetex foo 1000 bar
应用:可以设计为存储Token,并设置过期时间
#递增,递减
#自增1(默认) set foo 0 INCR foo get foo
#自增5 INCRBY foo 5 返回自增后的值 INCRBYFLOAT foo 0.1
应用:
1.计数器,网站访问数统计
2.限流。每个ip每秒限制请求10次
#APPEND STRLEN
APPEND foo hello APPEND foo " world" #字符串长度 STRLEN foo
#GETSET 获取旧数据并更新新数据
INCR mycounter GETSET mycounter 0 GET mycounter
#MGET MSET
MGET mycounter foo nonext MSET key1 val1 key2 val2 MGET key1 key2 #不存在时执行(有一个key以上存在时,操作失败返回0) MSETNX key1 val1 key2 val2
#SETRANGE GETRANGE
set key1 "hello world" setrange key1 6 "redis" get key1
GETRANGE -1代表最后一个字符 -2代表倒数第二个以此类推
#GETBIT SETBIT BITCOUNT BITOP BITPOS
略
-------------------------------------------------------------------------------------------------------------------------------------
应用场景篇
#1 计数器
INCR 点赞数,收藏数的计数
#2 会话token
setex 存储用户的token,并设置过期时间
#3 验证码有效期
设置验证码60秒内有效