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

浙公网安备 33010602011771号