摘要: 字符串内部 redis的字符串是可以修改的字符串,在内存中它是以字节数组的形式存在的。 字符串:SDS,Simple Dynamic String 字符串有两种存储方式 embstr raw 当元素长度超过44字节,使用raw形式存储 每个对象都有一个对象头。 字典 默认的hash函数是siphas 阅读全文
posted @ 2020-07-14 16:20 梦想成为DALAO 阅读(101) 评论(0) 推荐(0) 编辑
摘要: Stream 一个强大的支持多播的可持久化消息队列。 消息链表,将所有加入的信息都串起来,每个消息都有一个唯一的ID和对应的内容。消息是持久化的,重启内容还在的。 每个Stream都有唯一的名称,他就是Redis的key,在首次使用xdd指令追加消息时自动创建 每个Stream都挂有多个消费组,每个 阅读全文
posted @ 2020-07-14 15:36 梦想成为DALAO 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 主从同步 当主节点(Master)挂掉的时候,运维让从节点(slave)过来接管,服务就可以继续,否则主节点需要经过数据恢复和重启的过程。 CAP原理 分布式存储的理论基石 C:Consistent,一致性 A:Availability,可用性 P:Partition tolerance,分区容忍性 阅读全文
posted @ 2020-07-14 13:57 梦想成为DALAO 阅读(113) 评论(0) 推荐(0) 编辑
摘要: Redis事单个线程程序 Nginx也是单线程,但是他们都是服务器高性能的典范 redis为什么这么快? 所有数据都在内存中,所有的运算都是内存级别的运算 Redis既然是单线程,如何能处理那么多的并发客户连接? 多路复用 非阻塞IO 当我们调用套接字(socket网络编程)默认是阻塞的; 阻塞:非 阅读全文
posted @ 2020-07-14 11:25 梦想成为DALAO 阅读(105) 评论(0) 推荐(0) 编辑
摘要: redis:存储中间键 remote dictionary service(远程字典服务) 相对于Memcache,redis更加容易理解、使用和控制 分布锁:很重要 redis可以干什么: 记录帖子的点赞数、评论数和点击数(hash) 记录用户的帖子ID列表,便于快速显示用户的帖子列表(zset) 阅读全文
posted @ 2020-07-13 22:32 梦想成为DALAO 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 10.1CountDownLatch 计数器 new CountDownLatch(2)countDownLatch.countDown(); //-1 countDownLatch.await();//当计数器为0时返回 和join之间的区别 不用等到子进程全部执行完毕之后再返回 是基于AQS实现 阅读全文
posted @ 2020-06-28 22:53 梦想成为DALAO 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 8.1介绍 线程池里面的线程是可以复用的 大量异步任务是线程池表现良好的性能 线程池提供了一种资源限制和管理的手段 线程池提供了许多可调参数和可扩展接口, 但是可以使用更加方便的Executors的工厂方法创建线程,不建议 8.2类图分析 Executors是一个工具类,提供了好多静态方法 线程池状 阅读全文
posted @ 2020-06-28 21:25 梦想成为DALAO 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 7.1ConcurrentLinkedQueue 线程安全的无界非阻塞队列,其底层数据结构使用单向链表实现,对于出队和入队操作使用CAS来实现线程安全 新元素会被插入队列的末尾 队列头获取元素 offer操作 添加一个元素 add操作 添加一个元素,底层使用offer() poll操作 删除一个元素 阅读全文
posted @ 2020-06-28 20:42 梦想成为DALAO 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 6.1LockSupport 跟wait()不同! 引入了一个许可证的概念。 void park()方法 检测此时的线程是否拥有许可证,有的话。就通过,没有的话就阻塞。 LockSupport.park():在哪儿调用就是检查哪个线程 void unpark(Thread thread)方法 Loc 阅读全文
posted @ 2020-06-28 18:54 梦想成为DALAO 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 5.1CopyOnWriteArrayList 读:都是旧数组里面的值 写:加ReetrantLock,然后复制一份,在复制的一份上修改;最后将复制的一份设置成主本。 源码就没必要看了,太简单了! 弱一致性问题 简单说就是,修改时,都是复制的。那么读的时候很可能读到修改之前的值,这就是弱一致性问题 阅读全文
posted @ 2020-06-28 09:03 梦想成为DALAO 阅读(1323) 评论(0) 推荐(0) 编辑