java
吃烤肉吗
这个作者很懒,什么都没留下…
展开
-
Redis的单机持久化策略
Redis的单机持久化策略说明RDBRDB简介RDB工作方式RDB的使用方式说明redis是一个内存数据库,每次服务器重启的时候内存中的数据都会丢失。所以Redis提供了两种持久化方式:RDB和AOF。RDB持久化方式是Redis将内存的数据以快照的方式存到磁盘中,生成一个以rdb为后缀的文件。该文件是一个二进制的字节码文件,也就是内存的状态。AOF持久化方式是Redis将所有的写操作以操作日志的方式记录到文件中。Redis可以不开启持久化,也可以开启一个,也可以都开启。当都开启时会优先加载AOF文件原创 2020-09-12 20:32:45 · 205 阅读 · 0 评论 -
Redis指令组(三)
Redis指令组(三)简介hash指令组HSET、HMSETHGET、HMGET、HGETALLHSETNXHDELHEXISTSHINCRBY、HINCRBYFLOATHKEYSHLENHSTRLENHVALSHSCAN简介本篇介绍redis中hash类型的指令组。hash指令组HSET、HMSEThset: 设置key指定的hash中指定字段的值。hmset: hset的多field版本。HGET、HMGET、HGETALLhget: 获取key中指定字段的值。hmget: 获取原创 2020-09-07 20:56:47 · 958 阅读 · 0 评论 -
Redis的指令组(二)
Redis的指令组(二)简介lists命令组LPUSH 、RPUSHLPOP、RPOPRPOPLPUSH、BRPOPLPUSH简介本篇文章将介绍redis的lists数据类型的指令组。redis中Lists是按插入顺序排序的字符串元素的集合。其底层实现是链表,这意味着lists在头尾插入元素会非常快,但是无法向数组那样通过下标快速的访问某个元素。通过redis的lists命令组可以很方便的实现一个栈,队列等数据结构。lists命令组LPUSH 、RPUSHlpush和rpush都是向一个链表头中添原创 2020-08-26 21:51:13 · 726 阅读 · 0 评论 -
Redis的bitmap的应用例子
Redis的bitmap的应用例子上篇博客介绍了redis14个指令组中的strings组中的所有指令,其中有很多关于bitmap的指令。bitmap的使用可以大大减少内存的使用,而且计算机对二进制的操作耗时非常的短。下面举几个例子,来具体说明一下bitmap的几个应用场景。...原创 2020-08-23 13:22:45 · 1401 阅读 · 0 评论 -
Redis的指令组(一)
Redis的5种类型之String写在前面简介与Memcached的对比写在前面简介上篇文章介绍了Redis的安装,官网上是这样介绍的,Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查原创 2020-08-16 23:01:42 · 1312 阅读 · 0 评论 -
Java的ReentrantLock数据结构图解
ReentrantLock数据结构图解ReentrantLock总的来说是维护了一个等待队列(或者叫做同步队列)和若干个条件队列(取决于程序中创建了几个条件对象),队列里放的是一个个Node。下面通过ReentrantLock的类图来详细说明一下:从类图中可以看到ReentrantLock里面有一个Sync类型的sync对象,Sync是ReentrantLock的一个内部类,该内部类继承了AbstractQueuedSynchronizer(简称AQS)。AQS就是Lock维护的那个等待队列。.原创 2020-08-01 18:21:14 · 577 阅读 · 0 评论 -
ReentrantLock解锁流程
ReentrantLock解锁流程上篇介绍了ReentrantLock的加速流程,传送门:https://blog.csdn.net/qq_25178353/article/details/107568396有加锁就有解锁,接下来探讨一下解锁的流程。解锁流程总体来说比这加锁简单。先上流程图:解锁流程从调用lock.unlock()开始,lock.unlock()方法调用的是sync.release(1)方法,sync.release(1)的代码如下: public final bo.原创 2020-07-27 20:16:47 · 647 阅读 · 0 评论 -
ReentrantLock的加锁过程
ReentrantLock的加锁过程ReentrantLock是一个可重入的排他锁,他的加锁过程是通过cas操作完成的。ReentrantLock有三个内部类,分别是Sync , FairSync,NofairSync。其中后两者都继承了前者。通过他的内部类可以大概了解到ReentrantLock支持公平锁与非公平锁。废话不多说,先看一下ReentrantLock的非公平锁加锁的流程图。下面按照流程图结合代码来说明一下...原创 2020-07-24 20:05:45 · 784 阅读 · 0 评论