redis的简单介绍

作用:非关系型数据库,减轻DB的访问压力,基于内存中,存放小量的热点数据。以键值对的形式存放数据,数据类型有5种。

有许多种常用的命令,但在代码中用方法来操作数据。

存储的数据类型:key———>String:仅用于存储一个值

                             key ———>map:存储一个对象数据        

                             key————>list:使用listjiegou实现队列(先进先出)、栈(先进后出)数据结构

                             key————>set:交集、差集、并集操作,也可以用来去重

                             key————>sortset:排行榜、积分榜等排名数据的存储结构

代码中提交命令到redis的方式:1、直接连接,提交命令;

                                                    2、创建连接池,提交命令

                                                    3、管道操作,将所有命令放到pipeline中,一次性提交命令

redis的密码和事务:在nginx中有内网和外网两块网卡,redis在内网中,没必要使用密码也安全;

                                 开启事务后,命令都被存放在对列中,提交时一起执行,改成功的成功,改失败的失败,互不影响。命令:multi(开启)   exec(提交)    discard(取消)

redis的持久化机制:

                               RDB : 默认的持久化机制,生成dump.rdb文件

                                          速度快存储的是二进制文件

                                          时机:redis.conf文件进行配置,无法保证数据安全

                               AOF : 默认关闭,在redis容器的date目录下,存储文本文件,越往后存储越慢;

                                          时机:每秒持久化一次,或者没插入一条命令持久化一次,自己设置

                两种方式推荐同时开启,redis 文件重启后,优先加载aof文件。若先开启RDB,再开AOF,并且RDB执行了持久化,那么AOF会覆盖掉RDB文件的内容。

redis的删除策略:不会立即删除,因为过期就删除,太浪费资源;

                       定期删除:redis定期查看设置了过期时间的key,每隔100ms检查3个key;

                        惰性删除:查询一个过了生存时间的key,redis会查看当前key的生存时间,过期就删除,然后返回空值。

redis的淘汰机制:redis内存已满,添加一个新数据,执行淘汰机制。默认是内存不足时,直接保

                              错。指定淘汰机制的方式:maxmemory-policy   设置redis最大内存:maxmemory 字节大小

缓存问题:

        穿透:原因:redis 和DB都没有指定的数据

                   方法:  mql中不存在这样的数据,则存入redis中一个垃圾数据,并设置随机超时时间

                            获取ip地址,对ip地址访问次数添加限制

                             id是自增时,在redis中放最大的id,查询前先比价id,id是String时,全部id放入set中,查询前看set有没有,有返回,无返回空值;

        击穿:原因:redis中设置时间的key突然失效,大量请求直接打到DB,造成DB宕机

                   方法:去掉热点数据的生存时间

                              在访问缓存没有时,访问数据库的方法加锁

        雪崩:原因:redis中的key同时大量失效,大量并发请求打到数据库造成宕机

                   方法:缓存中的热点数据到期时间,不要设置相同的到期时间,设成随机的

        倾斜:原因:热点数据都放在一个redis节点上,导致redis宕机

                   方法:主从架构,搭建大量从节点,环缓解reids的压力

                               前期做好规划,让热点数据均匀分布在每一台redis服务器上,防止单点高并发

至于redis 的分布式,随后再说!!!

                        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值