自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 redis切片集群

redis切片集群(分片集群)当redis存储数据量过大的时候,在持久化时fork子进程的时间就会增多,导致redis性能差,所以当数据量大的时候采用切片集群切片集群:指启动多个redis实例组成一个集群,然后按照一定规则,将数据划分成多份,每份用一个实例保存保存规则:在切片集群方案中,共有16384个哈希槽(0-16383),首先根据key计算出一个16bit的值(CRC16算法),再用这个数值对16384取模,对应的模就是哈希槽的位置集群搭建:1.修改配置文件daemonize yes #后

2020-09-18 17:34:21 554

原创 redis哨兵机制

redis哨兵机制在集群模式下,如果主库发生故障,就导致主库的写操作失败以及从库的数据同步失败哨兵机制主要解决主从库故障切换哨兵主要功能:监控:监控库是否在运行状态(周期性发送ping命令)选主:如果主库发生故障,选择新的主库通知:通知其他从库新的主库信息哨兵集群:防止当个哨兵误判主库状态哨兵个数:2N+1,可以减少误判概率哨兵选择从库的过程:优先级最高的:使用slave-priority配置小的分高,但是要大于0,0的不参与选举和旧主库同步程度最接近的从库得分高ID号小的从库得分高

2020-09-17 17:36:12 16

原创 redis主从库数据同步

redis主从库数据同步当启用多个redis实例的时候。可以通过replicaof或slaveof命令形成主从库关系数据同步流程1.从库发给主库psync命令,包含两个参数runID(主库id)和offset(复制进度),当第一次执行时,由于不知道主库的id,将主库id设为? offset设为-1,代表第一次复制2.主库接到从库命令后,会使用FULLRESYNC(表示第一次全量复制)命令进行响应,携带runID和offset3.返回从库后,从库记录下runID和offset4.主库将所有数据同步

2020-09-16 16:14:10 113

原创 redis持节策略--rdb

rdb(redis databasw)快照rdb记录的是某一时刻的数据,并不是操作,在做数据恢复时,直接将rdb文件读入内存,很快的完成恢复在把数据写入磁盘时,数据量越大,耗费时间页越多redis提供了两个命令生成rdb文件,分别时save、bgsavesave:在主线程执行,会导致线程阻塞bgsave:创建子进程执行,不影响主线程,在写入时主线程修改的数据会形成副本,bsave将副本数据写入rdb文件rdb方式在系统宕机后会丢失最近一次快照后的数据,redis4.0提出了一个混合使用rdb和a

2020-09-15 16:12:49 16

原创 redis持久策略--aof

aof(append only file)日志redis的aop采用写后日志,先执行命令,把数据写入内存,然后记录日志(防止记录了错误日志,防止据路日志阻塞写操作)风险:如果刚执行完一个命令,还没有来得及记日志就宕机了,那么这个命令和相应的数据就有丢失的风险OF虽然避免了对当前命令的阻塞,但可能会给下一个操作带来阻塞风险aof机制:always:同步写回,每个写命令执行玩,马上同步的将日志写入磁盘everysec:每秒写回,每个命令执行完,间隔一秒写日志no:操作系统控制写回,命令执行完,把

2020-09-15 15:22:50 14

原创 redis慢的原因

redis慢的原因哈希表冲突,当key过多时,不同的key可鞥存放在同一个位置,redis在同一个位置形成一个链表进行保存,每个元素(entry)通过指针指向下一个元素这就会有一个问题,当进行操作时就会逐一查找,所以效率降低redis慢的解决方案对哈希表进行rehash操作,就是增加哈希桶的数量,让每个entry分散保存,减少每个位置的entry数量(减少链表场长度)为了提高rehash操作,redis默认使用两个全局哈希表,整个过程大致分为三步给哈希表2分配更大的空间;把哈希表1中的数据重新

2020-09-15 15:15:26 115

原创 redis基础数据类型的底层数据结构

redis数据类型string—简单字符串list-----双向链表,压缩列表hash-----压缩列表,哈希表set------哈希表,整数数组sorted set----压缩列表,跳表压缩列表实际类似一个数组,和数组不同的是,压缩列表在头部有三个字段,zlbytes(列表长度)、zltail(尾元素偏移量)、zllen(列表中rntry个数)压缩列表尾部还有一个zlend(列表结束)跳表:在有序列表的基础上增加了多级索引,通过索引位置的跳转,实现数据快速定位...

2020-09-15 15:14:05 8

原创 springcloud(3),RestTemplate的常用方法

1.RestTemplate类在springcloud中发送请求,可以使用get,post,put,delete方式发送,分别对应GetMapping,PostMappingPutMapping,DeleteMapping2.get请求(查找),常用两个方法,getForObject和getForEntityString str = restTemplate.getForObject("http://01-SPRINGCLOUD-SERVICE-PROVIDER/web/hello", Str

2020-06-12 16:12:26 49

原创 springcloud(2),搭建eureka服务注册中心

1.创建一个springboot项目(eureka也是一个web项目,与zookeeper不同)2.加入相关依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency>还要加入springcl

2020-06-10 10:33:13 56

原创 springcloud(1),springboot项目间调用

1.创建一个服务提供者(因为springcloud依赖springboot,所以所有创建的项目均为springboot项目)2.编写服务提供者controller@RestControllerpublic class HelloController { @RequestMapping("/web/hello") public String hello(){ return "hello,springcloud"; }}启动程序,可以正常访问3.创建

2020-06-10 10:04:07 71

原创 wm_concat排序问题

记录解决wm_concat无法排序的问题需求:根据某些字段(template_id,column_id)分组,查出组内某个字段(map)拼接在一起的字符串原始数据想要得到结果 1,2,3初始sql:得到结果:1,3,2以为需要排序,所以修改sql得到结果:1,3,2最终解决方案sql得到结果在通过分组取值时发现一个问题sql执行结果报错了通过查阅资料,发现wm_concat返回值为clob,又将其转为字符串最终sql如有更好方法,还请不吝赐教...

2020-05-22 17:43:56 176

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除