1Redis概述和安装1Redis是一个开源的key-value存储系统。2和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sortedset--有序集合)和hash(哈希类型)。3这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。4在此基础上,Redis支持各种不同方式的排序。5与memcached一样,为了保证效率,数据都是缓存在内存中。6区别的是Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件。7并且在此基础上实现
Redis有两种持久化方案:RDB持久化AOF持久化RDB持久化RDB全称RedisDatabaseBackupfile(Redis数据备份文件),也被叫做Redis数据快照。简单来说就是把内存中的所有数据都记录到磁盘中。当Redis实例故障重启后,从磁盘读取快照文件,恢复数据。快照文件称为RDB文件,默认是保存在当前运行目录。执行时机RDB持久化在四种情况下会执行:(1)执行save命令(2)执行bgsave命令(3)Redis停机时(4)触发RDB条件时(1)save命令执行下面的命令,可以立即执行一次RDB:save命令会导致主进程执行RDB,这个过程中其它所有命令都会被阻塞。只有在数据
Redis主从搭建主从架构单节点Redis的并发能力是有上限的,要进一步提高Redis的并发能力,就需要搭建主从集群,实现读写分离。主从数据同步原理全量同步主从第一次建立连接时,会执行全量同步,将master节点的所有数据都拷贝给slave节点,流程:这里有一个问题,master如何得知salve是第一次来连接呢??有几个概念,可以作为判断依据:ReplicationId:简称replid,是数据集的标记,id一致则说明是同一数据集。每一个master都有唯一的replid,slave则会继承master节点的replidoffset:偏移量,随着记录在repl_baklog中的数据增多而逐渐
http-server简介http-server是一个简单的零配置的命令行http服务器,它足够强大便于生产和使用,用于本地测试和开发。有时候我们打开一个文档使用file协议打开的时候,不能发送ajax请求,只能使用http协议才能请求资源,具体的区别大家可以去参考[这篇文档](www.cnblogs.com/lishanlei/p…),所以此时我们需要在本地建立一个http服务,通过IP加端口号,来访问资源。我一般的做法就是通过vscode的插件或者通过webstorm来打开,现在可以通过http-server来便捷的创建一个本地服务。1.安装node.js官网地址,下载官网推荐版本,并安装
实验环境:Windowsserver2016————搭建安装环境图形化使用backup(自动,一次)恢复1.搭建安装环境虚拟机需要需要多加一个硬盘进行备份,硬盘大小的选择,我推荐和要备份的盘一样大小,或者比要备份的再大一点,或者根据backup里的推荐大小去选择硬盘我要备份的盘为40g,所以我又添加个盘也是40g然后去磁盘管理里进行”初始化“操作分好区然后去安装backup服务添加角色和功能下一步下一步下一步这里什么都不选,下一步到功能这里选择,Windowsserverbackup,然后下一步安装耐心等待2.图形化使用backup(1)只进行一次备份在服务器控制面板,工具下,找到Window
1.Redis哨兵Redis提供了哨兵(Sentinel)机制来实现主从集群的自动故障恢复。1.1.哨兵原理1.1.1.集群结构和作用哨兵的结构如图:哨兵的作用如下:监控:Sentinel会不断检查您的master和slave是否按预期工作。自动故障恢复:如果master故障,Sentinel会将一个slave提升为master。当故障实例恢复后也以新的master为主。通知:Sentinel充当Redis客户端的服务发现来源,当集群发生故障转移时,会将最新信息推送给Redis的客户端。1.1.2.集群监控原理Sentinel基于心跳机制监测服务状态,每隔1秒向集群的每个实例发送ping命令。
公众号「架构成长指南」,专注于生产实践、云原生、分布式系统、大数据技术分享。数据库和Redis如何保持强一致性,这篇文章告诉你目的Redis和Msql来保持数据同步,并且强一致,以此来提高对应接口的响应速度,刚开始考虑是用mybatis的二级缓存,发现坑不少,于是决定自己搞要关注的问题点操作数据必须是唯一索引如果更新数据不是唯一索引,则数据库更新后的值,与缓存不一致,而查询还会走缓存,而查询的值是脏值。查询唯一数据,数据值必须是全部字段假如:B交易查询字段不是全部字段,进行查询放入缓存,A交易进行查询时,从缓存获取,由于A交易需要全部字段,所以就会出现不可预知的问题。查询缓存数据后,必须要在程
题目k8s启用APIserver认证Context由kubeadm创建的cluster的KubernetesAPI服务器,出于测试目的,临时配置允许未经身份验证和未经授权的访问,授予匿名用户cluster-admin的访问权限。Task重新配置cluster的KubernetesAPl服务器,以确保只允许经过身份验证和授权的REST请求。使用授权模式Node,RBAC和准入控制器NodeRestriction。删除用户system:anonymous的ClusterRoleBinding来进行清理。注意:所有kubectl配置环境/文件也被配置使用未经身份验证和未经授权的访问。你不必更改它,但
前言: 在如今的开发中,使用缓存中间件Redis已经成为一项很广泛的技术,Redis的高性能大大优化了我们的服务器性能,缓解了在高并发的情况下服务器的压力。它基于缓存的形式,在内存中保存数据,减少对磁盘的IO操作。然而尽管Redis有着很多的优点,但仍然有三朵乌云漂浮在Redis的上空:穿透,击穿,雪崩。而我们今天就把焦点聚焦于Redis的穿透问题。目录前言:什么是Redis的穿透问题:布隆过滤器:基于SpringBoot实现布隆过滤器:总结:什么是Redis的穿透问题: Redis的穿透问题是指当应用程序查询一个不存在于缓存中的数据时,请求会直接穿透到后端存储系统(如数
Docker运行环境要求系统为64位、Linux系统内核版本为 3.8以上1.Docker安装1.1搭建gcc环境(gcc是编程语言译器)yum-yinstallgccyum-yinstallgcc-c++1.2安装需要的软件包yuminstall-yyum-utils1.3装镜像仓库因为docker的服务器是在国外,所以有时候从仓库中下载镜像的时候会连接被拒绝或者连接超时的情况!因此可以使用阿里云镜像仓库yum-config-manager--add-repohttp://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo1.4新