摘要:
1.序列化(1)什么是序列化? Java的序列化是把对象转换成有序字节流的过程。以便进行网络传输或者保存到本地。(2)为什么要序列化? 当两个进程进行远程通信时,如果需要发送各种各样的数据,文本、音频、文件、对象等, 在发送这些数据之前,都要把这些数据变成二进制流,才能在网络上进行传输,序列化就 是 阅读全文
摘要:
最近经常收到redis集群告警,每天收到50多封邮件,实在不胜其烦,内存不够用,原因是有一些无用的key(约3000万)占用内存(具体不说了)。这部分内存不能被释放。 原来的定期清理脚本的逻辑: 打开一个redis链接,在内部循环从1000万到7亿之间的数据,然后加上前缀去批量删除,这种方式属于广撒 阅读全文
摘要:
1.javax.servlet.jsp.tagext不存在 maven打包报程序包javax.servlet.jsp.tagext不存在或者maven打包报程序包javax.servlet.jsp不存在的错误解决方法: 添加maven的依赖关系,更新maven的update project操作,重新 阅读全文
摘要:
1.client_stub是为了屏蔽客户端调用远程主机的对象,而在本地的一个对象存根,存根负责接受本地方法调用,并将其序列化,然后通过网络发送给服务端。 阅读全文
摘要:
redis集群 redis锁 1.Redis集群是一个提供在多个redis节点间共熟数据的程序集。 2.redis集群的数据分片(1)Redis没有使用一致性hash而是引入hash槽的概念。(2)Redis集群共有16384个hash槽(不管redis有几台机器,整个集群一共有16384个hash 阅读全文
摘要:
mongo1.在数据迁移的过程中,写入量每秒达到1000次,在这个量级下,memcache会一直占用内存不释放。原因:mongo是异步写入,收到写入请求之后,先放入内存,然后异步写入,解决方案(1)用closeAllDataBase,释放内存,3.0之后命令已经不支持了(2)用ulimited在mo 阅读全文
摘要:
1.memcache是一个存储key-value的高性能的、分布式的对象缓存系统。 2.memcache虽然被称为“分布式缓存”,但memcache本身不具备分布式功能,memcache集群之间不会通信。所谓的分布式完全依赖于客户端程序实现。 3.memcache通信模型(1)应用程序调用memca 阅读全文
摘要:
阅读全文
摘要:
1.hash算法: hash算法将任意长度的二进制值,转换为较小长度的二进制值,这个小的二进制值称为hash值,hash可以校验数据的完整性。 2.一致性hash算法(2)一致性hash算法:一致性hash算法是一种分布式hash的算法,设计目标是为了解决因特网中的hotSpot问题。 (3)一致性 阅读全文