- 博客(18)
- 收藏
- 关注
原创 redis删除策略与逐出算法详解
文章目录一、redis删除策略1.1、定时删除1.2、惰性删除1.3、定期删除二、redis逐出算法2.1、影响数据逐出的相关配置(redis.conf)2.2、八种内存置换策略2.3 配置依据一、redis删除策略redis删除策略主要针对redis过期数据,过期数据的定义就是设置了有效性且到达了过期时间的数据。ttl命令获取数据状态:返回时间:具有有效时间的数据返回-1 :表示永久有效的数据返回-2 : 表示已经过期的数据或被删除/未定义的数据。redis时效性数据在内存中的存储结
2021-02-04 23:44:38
469
2
原创 docker下实现redis主从复制架构实践
文章目录1、下载redis镜像2、修改配置文件3、启动容器4、测试redis 主从发复制架构仅仅用来解决数据的冗余【备份】,从节点仅仅用来同步数据接下来开始完整的使用docker部署一个redis主从复制架构1、下载redis镜像docker pull redis:5.02、修改配置文件由于docker 拉取的镜像文件中不包含redis.conf配置文件,所以只能只能手动导入,存放在/home文件夹下,后续通过文件映射的方式来进行配置。创建文件夹存放data持久化文件和配置文件m
2021-02-03 00:55:30
236
原创 redis持久化操作及其原理详解
文章目录Redis 持久化机制1. 快照(RDB)1.1 特点1.2 生成方式1.3 配置生成快照的名称和位置2. AOF持久化2.1 特点2.1 开启AOF持久化2.2 日志追加频率2.3 AOF文件的重写2.3.1 AOF带来的问题2.3.2 AOF重写2.3.3 重写原理Redis 持久化机制什么是redis持久化:简而言之,把redis内存中的数据保存到磁盘的过程就是持久化。redis 官方提供了两种持久化机制:快照(Snapshot)保存某一时刻的数据状态AOF(Append O
2021-01-28 00:39:15
831
原创 redis常用基础命令
文章目录一、redis基础1.0 redis key操作指令1.1 string类型1.2 list类型1.3 set类型1.4 zset 类型一、redis基础1.0 redis key操作指令#redis 客户端显示中文redis-cli --raw#选择库,默认是0 最大为15 可以修改select 0-15 #redis中清除库的指令#清空当前库flushDB #清空所有库flushall# setset key value# del删除指令,删除一个或多个key
2021-01-27 22:11:40
164
原创 nginx+keepalived实现双机热备高可用负载均衡集群实践
nginx+keepalived实现双机热备高可用负载均衡集群实践高可用集群(High Availability Cluster,简称 HA)包括两台及以上的服务器,通常为两台服务器,其中一台工作,另一条冗余,当提供服务的服务器宕机时,冗余的那台服务器将接替宕机的服务器继续提供服务。只有两个节点的高可用集群又称为双机热备,即使用两台服务器互相备份。从而在不需要人工干预的 情况下,自动保证系统能持续对外提供服务。本文实现原理图如上,实现方案主要是通过nginx+keepalived。实现步骤主要介绍
2021-01-04 21:59:46
466
原创 java中异常处理总结(try catch finally详解)
文章目录前言java中try cath finally的执行顺序1、当try 或catch块中遇到return语句2、当catch 或 finally抛出异常3、当在finally之前调用了System.exit(int)方法总结:前言在异常处理中try catch finally的执行顺序大家都知道是按顺序执行,如果try中代码没有异常,则进入finally中,如果try中有异常则执行catch 再执行finally,这里要探讨是特殊情况下try catch finally的执行情况java中t
2020-10-26 01:56:06
787
2
原创 java浅拷贝与深拷贝原理剖析
文章目录介绍浅拷贝概念实现深拷贝概念实现总结介绍在开发过程中,经常会遇到将一个对象的所有成员拷贝给另一个对象的需求。普通的对象形式一般如下:定义一个普通Student类:public class Student { private String name; private Integer age; private Integer totalScore; //省略get set ... @Override public String toString()
2020-10-22 14:16:41
458
1
原创 java中的向上转型与向下转型
java中的向上转型与向下转型 首先,java的转型是基于继承的基础上的,转型的使用一般在多态中。关于在转型中最重要的一点那就是:父类引用指向子类对象;而子类引用不能指向父类对象向上转型与向下转型一个简单的例子:有2个类,Animal是父类,Pig类继承自Father。Animal a1 = new Pig();//父类引用a指向子类对象Pig p1 = (Pig)a //子类对象的父类引用
2017-10-14 14:58:13
611
1
原创 复习下java 多态
多态的定义: 指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)简而言之就是:==对于同一动作做出的响应产生不同的结果==多态存在的必要条件:==在继承的基础上====要有重写====父类引用指向子类对象(即向上转型)==多态存在的好处: ==可替换性==(substitutability)。多态对已存在代
2017-10-12 22:50:49
262
原创 由save is not vaild without active transcation引发的问题
引发问题的原因: 在ssh框架下,sessionFactory配置文件中 应用spring管理事务,并将应将hibernate.current_session_context_class设为thread 则会报该异常。解决方案:最简单的方案就是删除:hibernate.current_session_context_class设置删除.知识点: 在一个应用程序中,DAO 层使用Spr
2017-05-26 20:43:45
435
原创 Mybatis批量插入的使用
mybatis批量插入数据 由于项目需要生成多条数据,考虑到循环插入需要执行多条sql语句,并且在程序意外终止的情况下,用户不能直接的了解到我们成功插入多数据影响后续的操作,这是存在的一个潜在的bug。所以在程序中封装了一个List集合对象,然后需要把该集合中的实体插入到数据库中,使用MyBatis批量插入,由于之前没用过批量插入,在网上找了一些资料后最终实现了,把详细过程记录下来。供以后查阅和
2017-05-25 20:18:25
344
原创 org.hibernate.LazyInitializationException
org.hibernate.LazyInitializationException:failed to lazily initialize a collection of role:cn.its.oa.domain.Department.children,no session or session was closed (在ssh框架下的项目中出现了这个错误,被老鸟一眼就看出了问题所在,改正过来
2017-05-24 21:11:24
430
原创 Cannot be cast to java.lang.Comparable异常
Set集合中的treeSet问题:cannot be cast to java.lang.Comparable;原理: Set不保存重复的元素,与Collection类似,只是行为不同,Set是基于对象的值来确定归属性的。对结果排序,一般采用TreeSet。 TreeSet是依靠TreeMap来实现的。 TreeSet是一个有序集合,TreeSet中的元素将按照升序排列,缺省是按照自然排
2017-05-23 21:37:03
4355
原创 List在执行remove方法不能删除指定的对象
List在执行remove方法不能删除指定的对象我们根据List中的源码分析,remove方法的原理
2017-05-22 22:07:20
1145
1
原创 为什么实体类需要实现序列化
为什么实体类需要实现序列化Markdown及扩展 当客户端访问某个能开启会话功能的资源,web服务器就会创建一个HTTPSession对象,每个HTTPSession对象都会占用一定的内存,如果在同一个时间段内访问的用户太多,就会消耗大量的服务器内存,为了解决这个问题我们使用一种技术:session的持久化。 什么是session的持久化? web服务器会把暂时不活动的并且没有失效的
2017-05-22 21:48:32
511
原创 安卓界面的下拉列表制作
安卓界面的下拉列表主要使用组件;其中的数组的创建主要分为静态创建和动态创建,下面主要写的静态数组的创建;部分代码如下所示“xml: xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_par
2016-04-23 17:33:00
788
原创 Android开发-简单的图片浏览器
采用线性布局,将图片保存在xml文件中;在java后台代码中调用数组储存,加入添加点击事件,使单击图片之后循环遍历数组中的每一张图;具体代码如下:xml代码: android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="ver
2016-04-06 22:31:08
1053
原创 Android开发-简单的登陆界面
使用组件xml中开发界面;使用findViewById、OnClickListener后台绑定事件:使用,组件实现单选框具体代码如下:xml代码: android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"
2016-04-06 22:14:44
1377
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人