分布式缓存Redis
通用命令
inf无穷
redis默认有16个数据库用的第0个,select可以切换数据库
key * 查看所有的key
flushdb 清除数据库
flushall 清除全部数据库
exists key 判断是否有这个key
move 移动key到另外的数据库
expire 设置key自动过期时间 -2是过期了
ttl key 查看当前key的剩余时间
type key 查看key对应的value是什么类型的
String类型:
append追加,不存在就新建
strlen获取长度
incr自动加一
decr自动减一
incrby可以设置步长,指定增量
getrange截取字符串
setrange替换指定位置的字符串
setex 设置过期时间
setnx 不存在就创建,存在就创建失败
mset 存放多个
mget 取多个
set user:1 {name:zhangsan,age:3} 或者 mset user:1:name zhangsan user:1:age 3 存放对象
list类型,命令前面加l
lpush将一个或者多个值插入列表头部(左)
rpush将一个或者多个值插入列表尾部(右)
lpop 左边的值移除
rpop 右边的值移除
lindex通过下标获取值
llen返回列表的长度
lrem移除指定的value
ltrim截取指定的长度
rpoplpush把左边集合的值移动到右边
lset将指定的值替换成其他的值
linsert插入值,后面可以跟 before和after
set中的值不能重复,开头是s
smember 查看指定值
sismember查看是否是set值
scard获取个数
srem移除指定的
srandmember随机抽取元素,后面加数字随机抽取指定个数
spop随即删除
sdiff差集
sinter交集
sunion并集
hash map集合 h开头 key value格式,对象最好用hash存储
hgetall获取全部值
hdel删除置顶的key字段
hexists判断是否存在
hkeys活着所有的filed
hvals活着所有的value
hincrby制定增量
hsetnx如果不存在可以设置
Zset(sorted set)有序集合,set k1 score1 v1
zadd添加一个值
zrem移除
zcard获取个数
特殊类型
geospatial,地图可以做附近的人等等
geoadd添加经、纬度、城市名字,不能添加两级
geopos获取指定的经纬度
georadius搜索指定经纬度多少半径之内的
Hyperloglog,基数统计的算法,不允许容错的话就是用set或者自己的数据类型
bitmaps
测试连接
redis事务,开启事务multi,执行exec,discard取消事务,详情看图片
redis单条命令保证原子性,但是事务不保证原子性
悲观锁:
乐观锁:watch 监视
springboot整合
RDB持久化
AOF持久化
区别
redis主从架构,slaveof命令认老大
redis哨兵
作用
RedisTemplate哨兵模式
数据迁移
java访问分片集群
缓存穿透和雪崩解决方案
jedis操作redis
springboot操作redis(spring data redis)
对应五中数据类型
自己的配置类
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现