redis
2020-09-12 17:54:43 13 举报
AI智能生成
redis
作者其他创作
大纲/内容
前提介绍
Nosql分类
KV键值对
redis
文档型数据库
图关系型数据库
列存储数据库
hbase
数据库分类
关系型数据库
非关系型数据库
概念及特性
Nosql,非关系型数据库,k-v键值对存储
单线程
这个东西很牛的
存储速度快
内存数据库
使用场景
1.热点数据的缓存
2 限时业务的运用 expire
3 计数器相关问题 incrby
4 排行榜相关问题 zset
5 分布式锁 setnx
6 队列 lpop/lpush
其他
16个数据库,从0开始
端口号 6379
helloWorld
客户端
命令连接
地址及密码 47.99.236.194 fxf fang0953
命令 rediscli
基本操作
库操作
flushdb 清空当前库
select 切换数据库
dbsize 查看当前数据库的key的数量
flushAll 清空所有库
键操作
keys *
del key的名字
exists key的名字
expire key 秒钟 设置key的过期时间
ttl key 查看还有多久过期,-1永不过期,-2已经过期
常见数据操作命令 http://redisdoc.com/
数据类型
String
命令
set/get/del/sppend/strlen [key]
Incr/decr/incrby/decrby,只有数字才能加减
getrange/setrange [key] [satrt] [end]
setex [key] [second] (set with expire) / setnx (set if not exist)
mset/mget/msetnx
getset(先get再set)
单key单value
Hash
单key多value,但是value是键值对类型
命令
hset/heget/hmset/hgetall/hdel
hlen
hexestis key
hkeys/hvaals
hincrby/hincrbyfloat [大key] [小key] [number]
hsetnx
List
单key多value
命令
lpush/rpush/lrange
画图讲解
lpop/rpop
lindex [key] [index]
llen
lrem [key] [index]
lset [key] [index] [value]
linsert [key] before/after [index] [value]
结合爬虫项目
Set
单key多value
命令
sadd/smenbers/sismenber
scard 获取集合元素个数
srem key value
ZSet(sorted set)
单key多value
命令
zadd [key] [vakue] [sorce]
java代码
集成springboot
https://www.processon.com/view/5dabfcade4b0ea86c2b7c00e#map
redisTemplate
持久化
AOF
日志备份
RDB
数据库备份
https://www.toutiao.com/i6777629164045337100/
事务
发布订阅
类似消息中间介,一般不用
集群
主从模式
哨兵模式
常见问题
缓存击穿
指的是热点key在某个特殊的场景时间内恰好失效了,恰好有大量并发请求过来了,造成DB压力。
缓存穿透
一个一定不存在缓存及查询不到的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。
缓存雪崩
大量缓存集中在一段时间内失效,发生大量的缓存穿透,所有的查询都落在数据库上,造成了缓存雪崩。
0 条评论
下一页