Redis学习(十):应用实践之GEO与定义新的数据类型

1.Redis的三种扩展类型1.1.GEO1.1.2.概念1.1.3.GeoHash编码1.1.4.如何操作GEO类型2.自定义数据类型2.1.Redis的基本对象结构-RedisObject1.Redis的三种扩展类型Bitmap、HyperLogLog、GEO1.1.GEO1.1.2.概念适用于

Redis学习(九):应用实践之集合的统计

1.聚合统计1.1.概念:2.排序统计3.二值状态统计3.1概念:3.2.Bitmap:3.2.1.概念3.2.2.操作4.基数统计4.1.概念:4.2.HyperLogLog1.聚合统计1.1.概念:统计多个集合元素的聚合结果,集合之间的交集(公有)、并集(全部)、差集(独有)等利用Set结构的聚

Redis学习(八):应用实践之内存占用

1.String结构的内存开销1.1.原始数据:1.2RedisObject:1.3.全局哈希表数据:1.4.三者之间的关系:2.什么数据结构可以节省空间2.1.Hash表所使用的压缩列表1.String结构的内存开销1.1.原始数据:除了记录原数据,String结构还需要额外记录数据长度、空间使用

Redis学习(七):切片集群

1.切片集群(分片集群)1.1.概念1.2.数据分片和实例的对应分布关系1.3.客户端如何定位数据1.切片集群(分片集群)1.1.概念启动多个redis实例组成一个集群,其中数据按照规则划分到每个实例牢记:RDB中fork子进程的耗时是和当前数据量成正比的,并且fork的过程会阻塞主进程1.2.数据

并发编程(二十七):并发设计模式之优雅的结束线程

1.两阶段终止模式1.1.第一阶段1.2.第二阶段2.如何优雅的终止线程池2.1.shutdown()2.2.shutdownNow()优雅的结束线程是指线程T1中去结束线程T2,并且让T2有机会处理结束线程的流程,那么该如何实现呢?1.两阶段终止模式两阶段的含义:第一阶段:向线程发送终止指令第二阶

并发编程(二十六):并发设计模式之分工

1.Thread-Per-Message模式2.Worker Thread模式2.1.正确的创建线程池2.2.避免将有依赖的任务交给同一个线程池去执行,因为这样可能会产生死锁:3.生产者-消费者模式并发编程领域的三个核心问题:分工、同步和互斥。而解决并发编程问题的首要问题就是解决宏观的分工问题而解决

并发编程(二十四):并发设计模式之线程本地存储:ThreadLocal

1.ThreadLocal的工作原理2.ThreadLocal的内存泄漏3.InheritableThreadLocal 与继承性Java 语言提供的线程本地存储(ThreadLocal)就能够做到避免共享1.ThreadLocal的工作原理一般来讲,我们的设计思路可能是ThreadLocal会持有

并发编程(二十二):并发设计模式之Immutability模式

1.不变性(Immutability)模式:2.如何快速实现具有不变性的类3.使用Immutability的注意事项3.1.对象的所有属性都是final的,并不能保证不可变性3.2.正确的发布不可变对象1.不变性(Immutability)模式:简单来说,就是对象一旦被创建以后,状态就不再发生变化。

并发编程(二十一):Fork-Join

1.分治任务模型2.Fork/Join的使用Java并发包提供了一种叫做Fork/Join的并行计算框架,用来支持分治这种模型。分治思想在很多领域都有广泛的应用,例如算法领域有分治算法(归并排序、快速排序都属于分治算法,二分法查找也是一种分治算法);大数据领域知名的计算框架 MapReduce 背后
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×