04 2020 档案
摘要:https://www.cnblogs.com/flyingrun/p/12781257.html
阅读全文
摘要:select count(c.channel_name),c.channel_name from channel c GROUP BY c.channel_name HAVING count(c.channel_name)!=1
阅读全文
摘要:f(n)=n*(n-1)*……*1 public int fun(int n) { if(n==0) return 1;//递归出口 return fun(n-1)*n;} 注:使用递归方法解决问题,必须有一个明确的终止条件,即递归出口。
阅读全文
摘要:在项目中,一般会将文件临时保存到缓存目录 当时使用 File.createTempFile("tmp", ext, (File) request.getServletContext().getAttribute(ServletContext.TEMPDIR)) 创建临时文件时,项目一直运行正常,然而
阅读全文
摘要:public class ListUtil { /** * 获取list中存放的最后一个元素 * @param list * @param <T> * @return */ public static <T> T getLastElement(List<T> list) { return list.
阅读全文
摘要:Date today = new Date();//获取今天的日期 Calendar c = Calendar.getInstance(); c.setTime(today); c.add(Calendar.DAY_OF_MONTH, 1); Date tomorrow = c.getTime();
阅读全文
摘要:1、获取当前时间戳两种方法: System.currentTimeMillis(); #1536764057392 微秒 new Date().getTime(); #1536764057392 微秒2、时间戳转化为yyyyMMdd格式时间SimpleDateFormat df = new Simp
阅读全文
摘要:@Test public void getDay() { String day = "2018-03-19"; Calendar c = Calendar.getInstance(); Date date = null; try { date = new SimpleDateFormat("yy-M
阅读全文
摘要:@ApiModelProperty()用于方法,字段; 表示对model属性的说明或者数据操作更改 value–字段说明 name–重写属性名字 dataType–重写属性类型 required–是否必填 example–举例说明 hidden–隐藏@ApiModel(value="user对象",
阅读全文
摘要:schedule的意思(时间表、进度表) timer.schedule(new TimerTask(){ void run()},0, 60*60*1000);timer.schedule(new MyTask(event.getServletContext()), 0, 60*60*1000);第
阅读全文
摘要:一:问题场景 在开发过程中,我们有时会遇到Maven中央库没有的jar包,比如公司自己开发的而又没有放入公司私库的jar包,这时就不能通过三围在pom中直接引入。那么怎么在项目中引入这些本地或第三方jar包呢? 二:解决方法 常用的解决方法主要有两种。 第一种是将本地jar包安装在本地maven库。
阅读全文
摘要:这个地方是个坑。可能原因有两个:1.自己调用的mapper中resultType误配成resultMap所导致。2.在调用方法时,报这个错误,不一定是自己所调用的方法相关的配置错误,其他的mapper中配置错误也会导致。因为在调用方法时,会检测所有mapper中的返回值,这时候查看一下别的mappe
阅读全文
摘要:微服务中,最重要的就是服务注册中心,在springcloud的体系中,一般常用的注册中心,就是eureka和consul。因为springcloud默认使用的是eureka,所以我们在工作中也是选择的eureka作为微服务体系中的服务注册中心。 优势 eureka和spring整个体系结合的比较紧密
阅读全文
摘要:https://blog.csdn.net/ice24for/article/details/86084928
阅读全文
摘要:前言:分布式环境有很多问题,比如你前一个请求访问的是服务器A,第二个请求访问到了服务器B,就会发生并发重复插入问题,这个时候需要依赖单点来实现分布锁,而redis就是。 先导入maven依赖 redission <dependency> <groupId>org.redisson</groupId>
阅读全文
摘要:逃逸分析的基本行为就是分析对象动态作用域:当一个对象在方法中被定义后,它可能被外部方法所引用,称为方法逃逸。甚至还有可能被外部线程访问到,譬如赋值给类变量或可以在其他线程中访问的实例变量,称为线程逃逸。方法逃逸的几种方式如下:public class EscapeTest { public stat
阅读全文
摘要:如果能确认某个加锁的对象不会逃逸出局部作用域,就可以进行锁删除。这意味着这个对象同时只可能被一个线程访问,因此也就没有必要防止其它线程对它进行访问了。这样的话这个锁就是可以删除的。这个便叫做锁消除,本文是JVM实现机制的系列文章,这也正是今天要讲的主题。 众所周知,java.lang.StringB
阅读全文
摘要:1.过滤器: 依赖于servlet容器。在实现上基于函数回调,可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能在容器初始化时调用一次。使用过滤器的目的是用来做一些过滤操作,获取我们想要获取的数据,比如:在过滤器中修改字符编码;在过滤器中修改HttpServletRequest的一些参数,包括
阅读全文
摘要:1、synchronized作用于静态方法和非静态方法的区别 非静态方法: 给对象加锁(可以理解为给这个对象的内存上锁,注意 只是这块内存,其他同类对象都会有各自的内存锁),这时候在其他一个以上线程中执行该对象的这个同步方法(注意:是该对象)就会产生互斥 静态方法: 相当于在类上加锁(*.class
阅读全文
摘要:1、ABA问题 CAS 会导致“ABA问题”。 CAS 算法实现一个重要前提需要取出内存中某时刻的数据,而在下时刻比较并替换,那么在这个时间差类会导致数据的变化。 比如说一个线程 one 从内存位置 V 中取出 A,这时候另一个线程 two 也从内存中取出 A,并且 two 进行了一些操作变成了 B
阅读全文
摘要:1.clone方法 保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。 2.getClass方法 final方法,获得运行时类型。 3.toString方法 该方法用得比较多,一般子类都有覆盖。 4.fin
阅读全文
摘要:版权所有,转载请声明出处 zhyiwww@163.com 为了弄清楚这个问题 , 我又看了一遍 Collection 部分 , 并且看了些其中的源码 , 觉得对其中的实现又明白了一点 , 现在说出来和大家共享 . 我们先看一下 Set 类的关系图: 现在我们就从 Set 说起。 Set 接口为我
阅读全文
摘要:什么是链表结构: 链表结构是由许多节点构成的,每个节点都包含两部分: 数据部分:保存该节点的实际数据。 地址部分:保存的是下一个节点的地址。 链表的特点: 结点在存储器中的位置是任意的,即逻辑上相邻的数 据元素在物理上不一定相邻 访问时只能通过头指针进入链表,并通过每个结点的 指针域向后扫描其余结点
阅读全文
摘要:图示 set的两个主要实现类,TreeSet和HashSet,底层存储结构都是用的map,而且是将set需要存储的值放在map的key里的,PRESENT是一个空的object对象。 map每次put如果key值不存在,返回的是null,key值如果存在,则返回之前key的oldValue,这样与n
阅读全文
摘要:Java常见的锁总结Java常见的锁总结锁是一种多线程同步访问技术。我们常听到的关于锁的词有:排它锁、共享锁、可重入锁、乐观锁、悲观锁、公平锁、非公平锁、自旋锁、偏向锁、轻量级锁、重量级锁、分段锁等。这些大多是对锁进行类型划分,或者是一种锁的设计思想,彼此之间很多性质有的是兼容的,有的是对立的。我们
阅读全文
摘要:一,介绍 本总结我对于JAVA多线程中线程之间的通信方式的理解,主要以代码结合文字的方式来讨论线程间的通信,故摘抄了书中的一些示例代码。 二,线程间的通信方式 ①同步 这里讲的同步是指多个线程通过synchronized关键字这种方式来实现线程间的通信。 参考示例: public class MyO
阅读全文
摘要:联合索引是什么 对多个字段同时建立的索引(有顺序,ABC,ACB是完全不同的两种联合索引。)为什么要用 以联合索引(a,b,c)为例 建立这样的索引相当于建立了索引a、ab、abc三个索引。一个索引顶三个索引当然是好事,毕竟每多一个索引,都会增加写操作的开销和磁盘空间的开销。覆盖(动词)索引。同样的
阅读全文
摘要:为了提高数据库效率,建索引是家常便饭;那么当查询条件为2个及以上时,我们是创建多个单列索引还是创建一个联合索引好呢?他们之间的区别是什么?哪个效率高呢?我在这里详细测试分析下。参考地址https://blog.csdn.net/Abysscarry/article/details/80792876一
阅读全文
摘要:https://blog.csdn.net/weixin_43475124/article/details/83930436
阅读全文
摘要:java主线程等待所有子线程执行完毕在执行,这个需求其实我们在工作中经常会用到,比如用户下单一个产品,后台会做一系列的处理,为了提高效率,每个处理都可以用一个线程来执行,所有处理完成了之后才会返回给用户下单成功,下面就说一下我能想到的方法,欢迎大家批评指正: https://blog.csdn.ne
阅读全文
摘要:在很多情况下,多线程间仅仅同步是不够的,还需要线程与线程协作(通信),生产者/消费者模式是一个经典的线程同步以及通信的模型。 假设有这样一种情况,有一个篮子,篮子里只能放一个鸡蛋,A线程专门往篮子里放鸡蛋,如果篮子里有鸡蛋,则一直等到篮子里没鸡蛋,B线程专门从篮子里取鸡蛋,如果篮子里没鸡蛋,则一直等
阅读全文
摘要:一、线程的强制运行 二、线程的休眠 一、线程的强制运行 在线程操作中,可以使用 join() 方法让一个线程强制运行,线程强制运行期间,其他线程无法运行,必须等待此线程完成之后才可以继续执行 class MyThread implements Runnable{//实现 Runnable 接口 pu
阅读全文
摘要:一、锁种类 偏向锁 因为经过HotSpot的作者大量的研究发现,大多数时候是不存在锁竞争的,常常是一个线程多次获得同一个锁,因此如果每次都要竞争锁会增大很多没有必要付出的代价,为了降低获取锁的代价,才引入的偏向锁。 轻量级锁 轻量级锁考虑的是竞争锁对象的线程不多,而且线程持有锁的时间也不长的情景。因
阅读全文
摘要:一张图读懂非公平锁与公平锁 线程的挂起 线程的挂起操作实质上就是线程进入"非可执行"状态下,在这个状态下CPU不会分给线程时间片,进入这个状态可以用来暂停一个线程的运行。 线程挂起后,可以通过重新唤醒线程来使之恢复运行。 cpu分配的线程片非常的短、同时也非常珍贵。线程的挂起可以避免资源的浪费。 挂
阅读全文
摘要:在Java并发编程中,公平锁与非公平锁是很常见的概念,ReentrantLock、ReadWriteLock默认都是非公平模式,非公平锁的效率为何高于公平锁呢?究竟公平与非公平有何区别呢? 首先先简单从名字上来理解,公平锁就是保障了多线程下各线程获取锁的顺序,先到的线程优先获取锁,而非公平锁则无法提
阅读全文
摘要:如果一组进程中每一个进程都在等待仅由该组进程中的其他进程才能引发的事件,那么该组进程是死锁的。 举例来说:有两个进程A和B,A持有资源a等待b资源,B持有资源b等待a资源,两个进程都在等待另一个资源的同时不释放资源,就形成死锁。 形成死锁的四个必要条件: (1) 互斥条件:一个资源每次只能被一个进程
阅读全文
摘要:Redis缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来了一些问题。其中,最要害的问题,就是数据的一致性问题,从严格意义上讲,这个问题无解。如果对数据的一致性要求很高,那么就不能使用缓存。 另外的一些典型问题就是,缓存穿透、缓存雪崩和缓存击穿。目前,业界也都有比较
阅读全文
摘要:一、前言 在解决分布式系统中负载均衡的问题时候可以使用Hash算法让固定的一部分请求落到同一台服务器上,这样每台服务器固定处理一部分请求(并维护这些请求的信息),起到负载均衡的作用。 但是普通的余数hash(hash(比如用户id)%服务器机器数)算法伸缩性很差,当新增或者下线服务器机器时候,用户i
阅读全文
摘要:前言 MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。 打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。 拿汉语字典的目录页(索引)打比方,我们可以按拼音、笔画、偏旁部首等排序的目录
阅读全文
摘要:原因复: 1、int只有四个字节,而手机号是由11位十进制数组成的,即可知道手机号有五个字节,如果用int存储,则第五位溢出,被“吃掉了”制。 2、int的数据范围为-2147483648~2147483647[-2^31~2^31-1],是用于定义整数类型变量的标示符。 存储手知机号道用的类型:
阅读全文
摘要:什么叫做覆盖索引? 在了解覆盖索引之前我们先大概了解一下什么是聚集索引(主键索引)和辅助索引(二级索引) 聚集索引(主键索引): 聚集索引就是按照每张表的主键构造一颗B+树,同时叶子节点中存放的即为整张表的记录数据。 聚集索引的叶子节点称为数据页,聚集索引的这个特性决定了索引组织表中的数据也是索引的
阅读全文
摘要:https://blog.csdn.net/itguangit/article/details/82145322
阅读全文
摘要:原创你去了哪里 最后发布于2019-10-18 14:05:48 阅读数 121 收藏展开1:use index:在你查询语句表名的后面,添加use index来提供你希望mysql去参考的索引列表,就可以让mysql不再考虑其他可用的索引。如:select * from table use ind
阅读全文
摘要:写在前面:先解释下何为尾插法。大家都知道HashMap在JDK1.8版本经过优化之后,整体的数据结构变成了数组+链表+红黑树这样的形式。而尾插法说的就是在往HashMap里面put元素时,数组桶位上面还是未转化为红黑树的链表,此时新增在链表上元素的位置为链表尾部,故名尾插法。 前面聊了HashMap
阅读全文
摘要:Redis 集群中内置了 16384 个哈希槽,当需要在 Redis 集群中放置一个 key-value 时,redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数, 这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数
阅读全文
摘要:https://blog.csdn.net/weixin_39984161/article/details/91971731
阅读全文
摘要:https://blog.cnbuilder.cn/archives/linuxinstallzookeeper
阅读全文
摘要:Kafka是一个分布式的、可分区的、可复制的消息系统。它提供了普通消息系统的功能,但具有自己独特的设计。这个独特的设计是什么样的呢 介绍 Kafka是一个分布式的、可分区的、可复制的消息系统。它提供了普通消息系统的功能,但具有自己独特的设计。这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系
阅读全文
摘要:SpringBoot文件上传异常之提示The temporary upload location xxx is not valid 原文: 一灰灰Blog之Spring系列教程文件上传异常原理分析 SpringBoot搭建的应用,一直工作得好好的,突然发现上传文件失败,提示org.springfra
阅读全文
摘要:众所周知 在android中static 修饰的会被称之为 静态常量,静态变量, 静态方法 ,还有就是静态代码块,用static{ // 代码块 非static修饰的方法,变量,常量, 是不能再静态代码块中使用的 } 表示。 static修饰的 是跟着类走的, 而不是跟随对象,这个大家都是知道的。
阅读全文
摘要:前言 嗯,我应该是有一段实现没有写过博客了,在写完了细说Spring——AOP详解(AOP概览)之后,我发现我不知道该怎么写AOP这一部分,所以就把写博客这件事给放下了,但是这件事情又不想就这么放弃,所以今天我仔细思考了一下,决定还是要克服困难,我仔细的想了一下怎么讲解AOP实现这一部分,然后我决定
阅读全文
摘要:一、Java 线程池 Java通过Executors提供四种线程池,分别为:1、newCachedThreadPool:创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。(线程最大并发数不可控制)2、newFixedThreadPool:创建一个定长线程池
阅读全文
摘要:https://www.cnblogs.com/superfj/p/7544971.html
阅读全文
摘要:1、线程池的优势 (1)、降低系统资源消耗,通过重用已存在的线程,降低线程创建和销毁造成的消耗; (2)、提高系统响应速度,当有任务到达时,通过复用已存在的线程,无需等待新线程的创建便能立即执行; (3)方便线程并发数的管控。因为线程若是无限制的创建,可能会导致内存占用过多而产生OOM,并且会造成c
阅读全文
摘要:一个奇葩问题,虽然解决了,但还是没弄清楚,小记一笔。 年后回来,测试人员对年前的3次迭代的功能进行了回归测试,然后发现所有excel导入的功能都失效了。作为后台开发人员,当然是第一时间打开运行日志排查原因啦。但奇怪的是,后台日志中并没有ERROR信息......于是乎转战到前端,通过chrome的开
阅读全文
摘要:springboot项目,部署到服务器后,运行一段时间后,处理一些文件上传的接口时,后报异常。Could not parse multipart servlet request; nested exception is java.io.IOException: The temporary uploa
阅读全文
摘要:在运行springboot时 ,长时间运行后报错 the temporary uplaod location *** is not valid 查过资料后发现是centos对‘/temp’下文件自动清理的原因。 在springboot项目启动后 系统会在‘/temp’目录下创建几个目录 用于上传文件
阅读全文
摘要:package com.miracle.luna.lambda; import java.util.Arrays; /** * @Author Miracle Luna * @Date 2019/6/9 23:40 * @Version 1.0 */ public enum AlarmGrade {
阅读全文
摘要:Git一般有很多分支,我们clone到本地的时候一般都是master分支,那么如何切换到其他分支呢?主要命令如下: 1. 查看远程分支 $ git branch -a 我在mxnet根目录下运行以上命令: ~/mxnet$ git branch -a * master remotes/origin/
阅读全文
摘要:git切换分支首先通过$ git branch -a 1来查看所在目录的分支$ git branch -a master* trunk remotes/origin/HEAD -> origin/master remotes/origin/master remotes/origin/zhanghan
阅读全文
摘要:本文对Redis快照的实现过程进行介绍,了解Redis快照实现过程对Redis管理很有帮助。Redis默认会将快照文件存储在Redis当前进程的工作目录中的dump.rdb文件中,可以通过配置dir和dbfilename两个参数分别指定快照文件的存储路径和文件名。快照的过程如下。(1)Redis使用
阅读全文
摘要:博客链接:http://www.cnblogs.com/zhenghongxin/p/8669913.html redis 本地持久化到硬盘有两种方式,一是快照(snapshotting),二是只追加文件(append-only file AOF) 快照 快照,顾名思义可以理解为拍照一样,把整个内存
阅读全文
摘要:1、客户端向redis发送BGSAVE命令,会建立子进程将快照写入存储,同时redis可以正常接收命令。2、客户端向redis发SAVE命令,redis在执行写入存储前不接收命令。3、配置文件设置快照,例如save 60 5000,可配置多个。达到条件时触发BGSAVE命令。4、SHUTDOWN时,
阅读全文
摘要:1.迭代遍历:Set<String> set = new HashSet<String>();Iterator<String> it = set.iterator();while (it.hasNext()) { String str = it.next(); System.out.println(
阅读全文
摘要:Q:STL中set底层实现方式? 为什么不用hash? A: 第一个问题:set底层实现方式为RB树(即红黑树)。 第二个问题: 首先set,不像map那样是key-value对,它的key与value是相同的。关于set有两种说法,第一个是STL中的set,用的是红黑树;第二个是hash_set,
阅读全文
摘要:1. overcommit_memory是什么? overcommit_memory是一个内核对内存分配的一种策略。 具体可见/proc/sys/vm/overcommit_memory下的值 2. overcommit_memory有什么作用? overcommit_memory取值又三种分别为0
阅读全文
摘要:前几天公司后端系统出现了故障,导致app多个功能无法使用,查看日志,发现日志出现较多的redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool的异常信息,显而易见,j
阅读全文
摘要:使用redis作为缓存工具,很容易出现从redis连接池中得不到连接的问题。而使用redis连接池获取连接的时候,往往是在高并发情形下,出现如题所示的问题。本人一般从如下几个方面排查,经验之谈~ 1)首先判断redis连接参数是否配置正确?很有可能,之前一直能取,但现在突然出现异常,很有可能是red
阅读全文
摘要:纯属用于笔记,转自:http://blog.csdn.net/fachang/article/details/7984123 最近项目开发中用到了Redis, 选择了官网推荐的java client Jedis。 Redis常用命令学习:http://redis.io/commandsRedis官方
阅读全文
摘要:对于将字符串的首字母转成大写,首先想到的应该是截取,转换再拼接,但是这种处理效率比较低,通过查资料(http://blog.csdn.net/zhurhyme/article/details/27951099)找到一个移动ASCII的方式来处理,这种方式的效率很高。 /** * 将字符串的首字母转大
阅读全文
摘要:问题总结:数据库用的是postgresql,orm用的是mybatis, mybatis在处理映射的时候,当出现灭有匹配的类型,而你也没有指定其“jdbcType = OTHER”时,会出现 标题的错误 修改前 修改后:
阅读全文
摘要:package com.it.test;import java.io.BufferedReader;import java.io.StringWriter;import java.io.UnsupportedEncodingException;import java.sql.Connection;i
阅读全文
摘要:实体类对应的类型为byte[] (clob为char[]) 2.resultMap中的对应的字段映射添加 typeHandler <result jdbcType="BLOB" typeHandler="org.apache.ibatis.type.BlobTypeHandler"/> (clob类
阅读全文
摘要:controller: byte[] blob = commonService.getPersonImage(bean.getIdCard()); String base64 = new String(blob)); service: TableBean bean = getSqlSessionTe
阅读全文
摘要:使用spring-cloud 2.0.3时,加入了spring-boot-start-data-jpa依赖之后并配置完成,然后进行测试:这是service 方法,注入了IUserInfoDao接口(继承JpaRepository<UserInfoModel, Integer>); @Override
阅读全文
摘要:导出:File- -->Export Settings ->选择导出目录,会出现一个settings.jar的文件 导入方法:File->Import Settings ->选择需要导入的settings.jar即可
阅读全文
摘要:Java VM 常用设置记录 -Xms256m -Xmx256m -XX:MaxNewSize=256m -XX:MaxPermSize=256m
阅读全文
摘要:如何优雅的关闭Java线程池 面试中经常会问到,创建一个线程池需要哪些参数啊,线程池的工作原理啊,却很少会问到线程池如何安全关闭的。 也正是因为大家不是很关注这块,即便是工作三四年的人,也会有因为线程池关闭不合理,导致应用无法正常stop的情况,还有出现一些报错的问题。 本篇就以ThreadPool
阅读全文
摘要:分析:这两个问题,说句实在话,一般中小型传统软件企业,很难碰到这个问题。如果有大并发的项目,流量有几百万左右。这两个问题一定要深刻考虑。 缓存穿透,即黑客故意去请求缓存中不存在的数据,导致所有的请求都怼到数据库上,从而数据库连接异常。 解决方案: (一)利用互斥锁,缓存失效的时候,先去获得锁,得到锁
阅读全文
摘要:一、前言 分布式锁一般有3中实现方式: 1、数据库乐观锁; 2、基于Redis的分布式锁; 3、基于zookeeper的分布式锁 二、可靠性 为了确保分布式锁的可用,我们至少要确保锁的实现满足以下4个条件 1、互斥性。在任意时刻,只有一个客户端持有锁; 2、不会发生死锁。即使有一个客户端在持有锁的期
阅读全文
摘要:1.为什么会有年轻代 我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用,这样就会对堆的所有区域进行扫描。而我们的很多对象都是朝生夕死的,如果分代的话,
阅读全文
摘要:Eden区是一块,Survivor区是两块。 Eden区和Survivor区的比例是8:1:1 JVM内存的结构为 堆:存放对象 栈:运行时存放栈帧 程序计数器 方法区:存放类和常量 Jdk 1.8之后好像取消了方法区,直接将永久代放到了本地内存里面。
阅读全文
摘要:一,save保存数据到磁盘的方式: Redis Save 命令执行一个同步保存操作,将当前 Redis 实例的所有数据快照(snapshot)以 RDB 文件的形式保存到硬盘。 语法redis Save 命令基本语法如下: redis 127.0.0.1:6379> SAVE 返回值 保存成功时返回
阅读全文
摘要:Redis作为当前最常用的开源内存数据库,性能十分高,据官方数据表示Redis读的速度是110000次/s,写的速度是81000次/s 。而且Redis支持数据持久化,众多数据结构存储,master-slave模式数据备份等多种功能。 但是长期将Redis作为缓存使用,难免会遇到内存空间存储瓶颈,当
阅读全文
摘要:1、听故事把知识掌握了 在一个村子里面,有一口井水,水质非常的好,村民们都想打井里的水。这井只有一口,村里的人那么多,所以得出个打水的规则才行。村长绞尽脑汁,最终想出了一个比较合理的方案,咱们来仔细的看看聪明的村长大人的智慧。 井边安排一个看井人,维护打水的秩序。 打水时,以家庭为单位,哪个家庭任何
阅读全文

浙公网安备 33010602011771号