Redis对象-String 上一节我们说了一下Redis的最基础的数据结构-字典,其中字典节点的key是redis的对象,value也可以是一个redis对象,redis对象就是我们实际应用中会用到的那些,如:String,Hash,Set,ZSet等,今天我们来看一下Redis的最基础也是最常用的一个对象String,看一下他底层又是如何实现的。 2021-07-11 Redis #redis #redis对象 #源码
Redis数据结构-字典(dict) Redis作为一款十分优秀的k-v数据库,其底层实现就是字典(dict),作为Redis数据结构的第一节我们就先来看一下字典。 2021-06-23 redis #redis #源码 #字典
谈谈Redis分布式锁 Redis锁是一个老生常谈的问题了,正好公司需要一个简单易用并且可靠的分布式锁,就顺带了解了下成熟的方案,并且根据需求封装了一个适合我们的分布式锁。在这个过程发现redis去实现分布式锁好像不一定非要使用setnx,并且setnx也有些问题解决不了,还了解到了RedLock。最终根据我们的需求进行了取舍。 2021-05-17 Redis #锁 #Redis #分布式
【源码分析】RocketMQ消息追踪源码详解 之前有一篇文章通过在使用RocketMQ消息追踪功能遇到的问题及解决方法,与此同时简单看了下RocketMQ的源码,重点在问题解决上。在查问题过程中发现很少有文章来描述此功能从头到尾是如何实现的,然后我就研究了下,通过这篇文章来讲解一下。 2021-04-29 RocketMQ #源码 #RocketMQ #中间件
Java泛型详解(对比Kotlin) Java中的泛型是Java中比较难以理解和使用的部分,及时是知道了泛型,也很难实际运用到工作当中,还有一些让人迷惑的通配符,更是让人摸不到头脑,本文主要讲了泛型在Java中的出现,使用,已经重点介绍了了下通配符相关,还有泛型的原理,最后讲了一下Kotlin中的泛型又做了那些提升。 2021-03-14 Kotlin #Java #泛型 #Kotlin
Protocol Buffer编码 protobuf是一种序列化数据结构的协议,看到这里你可能会想到Json和XML等等,每个序列化数据结构协议都会有他的优点,比如Json它结构清晰,可读性比较好,protobuf的优点也很明显,就是更小,更快等,这篇文章会参考官方文档,详细解析一下protobuf的编码。 2021-03-01 protobuf #序列化 #protobuf #编码
Kotlin使用Jackson序列化中的一些问题 为了在项目中方便的使用Redis缓存,本来是准备使用Spring中的@Cacheaable等注解,经实验发现不支持Kotlin协程的suspend方法,所以便借助Kotlin算是写了一个缓存的DSL,在完成Spring提供的基本的cache功能还增加了batch cache和gloable cache,目前还有些问题没有解决,等解决掉会单独出一篇文章来介绍,这篇文章主要是介绍了在写这个缓存DSL的 2020-12-22 Kotlin #Kotlin #Jackson #序列化 #Spring Redis #坑
RocketMQ消息追踪相关源码分析 (文章由于onedriver同步问题被覆盖了,现已找回来)新架构的消息队列被换成了RocketMQ,然后直接用的阿里云的服务,其实对于使用阿里云的服务的用户,一般都会使用阿里的ONS SDK,因为我们的新框架是开源的,所以就没有使用ONS SDK,用了开源的RocketMQ4.7.1版本,本篇文章主要也是针对此版本进行分析的,之所以会看源码是因为我们使用过程中遇到了消息追踪的问题,具体表现为有三个 2020-12-12 RocketMQ #坑 #消息队列 #RocketMQ #源码分析
MySQL中的order by limit中的坑 最近在工作中第二次遇到order by limit中数据重复问题,第一次遇到草草解决没做记录,导致第二次遇到完全没想起来,再一再二不再三,在这片文章中我会重现一下问题,然后结合官方文档和其他资料分析下原因。 2020-11-24 MySQL #坑 #MySQL #日常问题