月光代碼園

記錄、分享、交流

导航

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秒内有效

 

posted on 2019-08-07 10:34  bangdikka  阅读(146)  评论(0编辑  收藏  举报