月光代碼園

記錄、分享、交流

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

Redis学习笔记#1:Strings

Redis的数据类型String,它是二进制安全的,意思是Redis的String可以包含任何数据,比如jpg图片或者序列化的对象。

String的值不能大于512M。

#基本命令

1
2
set foo "bar"
get foo

#不存在时才执行NX,存在时才执行XX

1
2
set foo "will not success" NX
set foo "will success" XX

#EX 秒数 PX 毫秒数   N秒后过期

1
2
3
4
#10秒后过期
set foo bar EX 10
setex foo 10 bar
psetex foo 1000 bar

应用:可以设计为存储Token,并设置过期时间

 #递增,递减

1
2
3
4
#自增1(默认)
set foo 0
INCR foo
get foo

1
2
3
4
5
#自增5
INCRBY foo 5
返回自增后的值
 
INCRBYFLOAT foo 0.1

应用:

1.计数器,网站访问数统计

2.限流。每个ip每秒限制请求10次

#APPEND STRLEN

1
2
3
4
5
APPEND foo hello
APPEND foo " world"
 
#字符串长度
STRLEN foo

#GETSET 获取旧数据并更新新数据

1
2
3
INCR mycounter
GETSET mycounter 0
GET mycounter

#MGET MSET

1
2
3
4
5
6
7
MGET mycounter foo nonext
 
MSET key1 val1 key2 val2
MGET key1 key2
 
#不存在时执行(有一个key以上存在时,操作失败返回0
MSETNX key1 val1 key2 val2

 #SETRANGE GETRANGE

1
2
3
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   bangdikka  阅读(147)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示