- 浏览: 167057 次
- 性别:
- 来自: 广州
文章列表
spring各知识点
- 博客分类:
- spring
1、通过在JVM传参数-Dconfig.env=dev,在配置文件或代码中可获取${config.env},另外操作系统环境变量,自定义配置文件xx.properties等也是同理。
集群(复制集群):由多个节点组成,每个节点是功能一样的冗余;为了应对单点无法存储的大数据量,和单点无法及时处理的高并发。
主从:目的是主写,从读。所以主从只是一个节点。例如哨兵模式。
分片(分片集群):做集群时,每个节点的数据都一样,所以总容量受限于单台节点最小容量。所以可将数据拆分成多个redis实例。
redis和memcache的区别
- 博客分类:
- redis
对比一下:
1、redis单线程,memcache多线程。一般每秒请求次数不会太大,选择时这个问题可忽略。
2、redis可持久化(支持master-slave主从备份),memcache数据只能放在内存。面对机器停电或重启等,redis影响不大,数据丢失较少甚至不丢失;而memcache全丢失,所以一般存在单点问题(虽然可以通过一些手段做到高可用)。
3、数据一致性:redis是单线程,所以对于一个事务按顺序执行命令即可,memcache提供CAS机制(可以先获得该key版本号,再调用client.cas(key, newValue, casValue);即可)。一般来说,数据一致性 ...
NoSQL数据库分为Graph,Document,Column Family以及Key-Value Store等四种。
Neo4j图形数据库的使用,可根据条件查询Node,查到对应的关系网络。
Spring HTTP invoker
- 博客分类:
- spring源码
具体使用请参考,这里主要看一下源码如何实现,以及和其他rpc框架的区别。
源码:
服务端配置:在spring-web包的org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter,该类继承了RemoteExporter,它内部两个属性service和serviceInterface,分别是远程服务接口和该服务的实现类,它主要提供HTTP协议封装和java对象序列化功能。
Spring的HttpInvokerServiceExporter(继承了HttpRequestHandler接口,可被适配器适配为HTTP请 ...
1、下载,并解压,并将解压目录D:\Gradle\gradle-4.5.1\bin放到环境变量的path中。
2、设置默认缓存路径。
#修改默认缓存目录
#修改Gradle默认缓存目录可使用命令gradle -g 目录路径,例如gradle -g D:\Gradle\.gradle
#修改全局默认仓库
#进入Gradle安装目录下的init.d文件夹,新建init.gradle文件,在此文件中输入
allprojects {
repositories {
maven {
url 'http://maven.aliyun.co ...
MySQL中information_schema 简略的介绍了Mysql中元数据信息库的各个表的作用,从这篇wiki中可以大致了解各个表的作用。这里主要介绍下Innodb事务锁相关的三个表:INNODB_TRX表、INNODB_LOCKS表、INNODB_LOCK_WAITS表。通过查看这三个表可以事务加锁的情况以及事务锁等待的情况,从而可以更简单地监控当前事务并分析可能存在的锁问题,例如分析死锁。
下面先分别介绍下三个表的作用以及各个字段的意义。
1、INNODB_TRX 表
The INNODB_TRX table contains information about every t ...
来自:
information_schema数据库是MySQL自带的,它提供了访问数据库元数据的方式。什么是元数据呢?元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。有些时候用于表述该信息的其他术语包括“数据词典”和“系统目录”。在MySQL中,把 information_schema 看作是一个数据库,确切说是信息数据库。其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权 限等。在INFORMATION_SCHEMA中,有数个只读表。它们实际上是视图,而不是基本表,因此你将无法看到与之相关的任何文件。
可以参考 ...
代码如下:其中,假如你想在加锁时,再加一个过期时间,就不要用opsForValue()了,改成boundValueOps即可。
@Slf4j
@Component
public class RedisService {
@Autowired
private Redis redis;
private String lockKey;
private long lockExpires;
private long tryTime;
private TimeUnit tryTimeUnit;
private boolean locked;
pu ...
Spring-data-redis为spring-data模块中对redis的支持部分,简称为“SDR”,提供了基于jedis客户端API的高度封装以及与spring容器的整合,事实上jedis客户端已经足够简单和轻量级,而spring-data-redis反而具有“过度设计”的嫌疑。
jedi ...
第一范式:字段不可再分
第二范式:在第一范式基础上,属性完全依赖于主键 。即表中不能有属性依赖于另一个字段。比如成绩表中,在(用户id,课程)做主键时,不能存课程名,因为它依赖于课程字段。
第三范式:在第二范式基础上,属性不依赖于其它表的非主属性。即用户表,不能出现部门名,而应该出现部门id。
JVM参数:
常用参数(这是错误示例):JAVA_OPTS="-server -Xms2048m -Xmx3072m -Xmn64m -XX:+UseConcMarkSweepGC"
错误地方:线上最大值和最小值最好一样,年轻代太小,Sun官方推荐配置为整个堆的3/8。
转载文章:
堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G ...
清理memcached缓存:首先telnet连接memcache,然后“flush_all”清除缓存,最后quit退出。
redis数据迁移:将一个redis的数据迁移到另一个redis中,redis提供了三种方式来满足数据迁移的需求,分别是move、dump+restore、migrate。
1.1.1 move key ...
-XX:+UseG1GCEnables the use of the garbage-first (G1) garbage collector. It is a server-style garbage collector, targeted for multiprocessor machines with a large amount of RAM. It meets GC pause time goals with high probability, while maintaining good throughput. The G1 collector is recommended for ...
不同java版本的垃圾回收器(转)
- 博客分类:
- JVM
OpenJDK 8 有多种 GC(Garbage Collector)算法,如 Parallel GC、CMS 和 G1。哪一个才是最快的呢?如果在 Java 9 中将 Java 8 默认的 GC 从 Parallel GC 改为 G1 (目前只是建议)将会怎么样呢?莫急,来看一看垃圾回收器的历史:
一,什么是 ...