redis数据持久化:有2种方式1.RDB快照 2.AOF写操作 默认是开启RDB快照模式他会在一定的时间内触发备份数据 可以配置再redis,.config 好比(更新10条数据15分钟快照一次更新了100条5分钟触发一次 1000条1分钟触发一次可以配置的)缺点就是可能会丢掉没用备份的数据;AOF会每次都备份写的操作,缺点就是新能比较差默认是关闭,启动可以把注解去掉;会有文件过大重新生成文件(文件大些也可以设置)可以和RDB同事开启,默认会先执行AOF.
redis 支持的存储数据格式:String 哈希map List Set 有序set
redis 内存淘汰机制:redis存在一个maxmemory 在redis.congif 文件中 大于设置的值就会触发内存回收(如果只为0测说明没有内存限制) 6种回收机制 默认是novitone 如果大于设置的最大内存值,后面的内存申请就会消失报错。
allkeys-lru:在主键空间中,优先移除最近未使用的key。(mySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据)
volatile-lru:在设置了过期时间的键空间中,优先移除最近未使用的key。
allkeys-random:在主键空间中,随机移除某个key。
redis 实现高可用 (可以使用主从发方式实现 主机取消持久化 从机使用RDB持久化,如果一台down机了可以从另一台机器拿到数据,如果都down 了可以从持久数据中得到数据)
redis做集群的方案:有3种 1.客户端控制存储获取机器 2,是中间服务商 3是redis客户端做处理 第一种就是需要代码层面维护
Redis的并发竞争问题如何解决:redis本身是单片执行的 不会出现并打的情况,如果要解决可以用mysql的乐观锁 添加版本号
网友评论