自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis集群模式之cluster

背景使用Redis Sentinel 模式架构的缓存体系,在使用的过程中,随着业务的增加不可避免的要对Redis进行扩容,熟知的扩容方式有两种,一种是垂直扩容,一种是水平扩容。垂直扩容表示通过加内存方式来增加整个缓存体系的容量比如将缓存大小由2G调整到4G,这种扩容不需要应用程序支持;水平扩容表示表示通过增加节点的方式来增加整个缓存体系的容量比如本来有1个节点变成2个节点,这种扩容方式需要应用程序支持。垂直扩容看似最便捷的扩容,但是受到机器的限制,一个机器的内存是有限的,所以垂直扩容到一定阶段不可避免的

2020-10-06 17:06:56 251

原创 Redis集群模式之sentinel

Redis sentinel概念Redis sentinel(哨兵模式)是官方推荐的高可用(HA)方案,当redis使用master-slave主从复制做高可用时,如果此时主节点master挂了,没有进行主从切换时,会导致服务不可写(假设master节点用来写操作,slave节点用来读操作)。sentinel可以集群部署,而sentinel可以监控多个master-slave集群,发现master节点宕机之后,可以进行主备切换,其作用如下:集群监控:负责监控 redis master .

2020-10-06 15:36:50 500

原创 Redis线程模型工作流程和原理

Redis是单线程的,为什么还这么快,很大的原因就是redis采用的是IO多路复用程序,让我们一起来看下Redis的线程模型。概念Redis基于Reactor模式开发了网络事件处理器,这个处理器被称为:文件事件处理器。先看几个关键词:嵌套字,I/O多路复用程序,文件事件分派器,文件事件处理器。redis会通过I/O多路复用程序,监听每个嵌套字,并根据套接字当前执行的任务,为套接字关联上对应的事件处理器。当被监听的套接字准备好执行连接应答(accept)、读取(read)、写入(write

2020-10-05 23:06:30 901

原创 Redis数据结构-dict

Redis底层是采用哈希加链表实现的,了解Redis内部数据结构,对学习Redis有很大的帮助。先来看几个关键词dictEntry:表示一个key-value节点。dictht:表示一个dict哈希表,里面有一个数组,数组里面的每个元素都是指向dictEntry的指针。dict:表示redis的字典结构,里面有2个哈希表,一个用来存储键值对,一个用来rehash。dictType:保存了一些用于操作特定类型键值对的函数附上源码:dictEntrytypedef struct

2020-10-05 17:02:03 229

原创 Redis的寻址过程

Redis的结构redisDb.id:保存数据库的整数表示号码redisDb.dict:保存键值对的数据redisDb.expires:保存键的过期时间redis的字典是采用哈希表加链表作为其底层实现,dict类型使用2个指针,指向哈希表的地址。0号哈希表主要用于存储了数据库的所有键值对数据,1号哈希表是程序对0号哈希表的rehash时用到,rehash一般是在新增键值对的时候触发,综上可以看出,redis根据key值查找value值时,其实就是在dict里面的0号哈希表(.

2020-10-01 19:51:33 499

原创 JPA自定义sql语句查询,结果集中的对象为Object或Map

JPA自定义拼装sql语句(左外连接)查询,将查询结果集保存至List<Object>或者List<Map>中①查询的结果集保存为List<Object>:Query query = getEntityManager().createNativeQuery(sql);List rows = query.getResultList(); ...

2019-03-12 09:51:38 1834

原创 JPA查询——setResultTransformer过期替换

JPA的setResultTransformer方法过期替换Query query = getEntityManager().createNativeQuery(sql);query.unwrap(org.hibernate.SQLQuery.class) .setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);替换成:...

2019-03-12 09:39:46 8945 4

转载 IE浏览器下动态修改svg下use的xlink-href属性时卡死的解决方法

问题描述:当点击svg图标进行图标切换时,会出现卡死的问题(IE浏览器)代码一开始的写法:$("#idValue").attr("xlink:href", "#icon1"); 解决方法:在页面的<style>里面加上这一句svg use{ pointer-events: none; } 在此记录,也方便以后回顾 原文链接:https://blog.cs...

2018-12-11 10:05:57 1347

原创 区块链框架-在Ubuntu16.04上搭建Hyperledger Fabric1.0环境步骤

搭建环境这个过程确实困难重重,希望各位要有心理准备,相信经过耐心的探索之后会有收获的,大家共同沟通进步。首先附上必备的工具的版本信息:①Oracle VM virtualBox 版本号:4.3.10②Ubuntu 版本号:16.04.4③go语言 版本号:1.9.2④docker 版本号:17.03.2-ce⑤docker-compose 版本号:1.21.2附上详细信...

2018-07-26 11:35:49 1385

空空如也

空空如也

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

TA关注的人

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