redis

#####

基本数据类型:字符串 列表 散列 集合 有序集合 

redis单进程:纯内存操作,IO多路复用

持久化:RDB AOF

redis实现分布式锁:setex

redis实现消息队列:list rpush lpop blpop(阻塞)

缓存击穿:某一个key失效,很多线程来访问,增加DB压力 

缓存穿透:查询一个一定不存在的数据 /布隆过滤器

缓存雪崩:大量key同时失效,将缓存的失效时间分散开,避免同时失效

过期策略:1)定时 《对CPU不友好》2)定期 3)惰性《对内存不友好》

淘汰策略:当内存不足时执行淘汰策略。

1)从已设置时间挑选最少使用/将要过期/随机

2)从数据集中挑选最少使用/随机/禁止淘汰

pub/sub做消息队列缺点:1)客户端下线消息丢失 2)没有提供持久化方案3)消费者接收的时间不能保证一致4)客户端消息太多会导致断开,消息意外丢失。

redis save命令执行RDB存储 但会阻塞主进程(建议使用bgsave)

获取所有的key:keys(数据量大会造成性能问题)  /scan 0

默认端口号:6379

主从复制

哨兵

集群

discard 终止事务

watch key 监控之后若key在事务开始之前被修改,则事务命令都不执行

若事务出现语法错误则执行失败

unwatch 取消监控

flushall 清除所有的KEY

redis 流水线增加效率,建立一次链接

 expire key time 给key增加失效时间

setex + expire = setnx 

ttl key 查看key的过期剩余时间

aof : appendonly

 

posted @ 2021-05-30 09:33  菜鸟哟  阅读(47)  评论(0)    收藏  举报