关闭

基于redis 实现分布式锁(二)

分布式锁的解决方式 基于数据库表做乐观锁,用于分布式锁。(适用于小并发)使用memcached的add()方法,用于分布式锁。使用memcached的cas()方法,用于分布式锁。(不常用)使用redis的setnx()、expire()方法,用于分布式锁。使用redis的setnx()、get()、getset()方法,用于分布式锁。使用redis的watch、multi、exec命令,用...
阅读(31) 评论(0)

基于 redis 实现的分布式锁(一)

分布式锁的解决方式 基于数据库表做乐观锁,用于分布式锁。(适用于小并发)使用memcached的add()方法,用于分布式锁。使用memcached的cas()方法,用于分布式锁。(不常用)使用redis的setnx()、expire()方法,用于分布式锁。使用redis的setnx()、get()、getset()方法,用于分布式锁。使用redis的watch、multi、exec命令,用...
阅读(129) 评论(0)

IDEA 配置多个SSH key

1. 切换到.ssh目录 2.在.ssh目录下新建一个config文件 3.编辑该文件加入服务器和配置文件的对应关系,如:Host github.com Hostname github.com User wyhmonstar IdentityFile C:/Users/yuhao.wang/.ssh/github_id_rsa Host gi...
阅读(99) 评论(0)

线程数究竟设多少合理

转载: 2016-03-29 58沈剑 架构师之路 一、需求缘起 Web-Server通常有个配置,最大工作线程数,后端服务一般也有个配置,工作线程池的线程数量,这个线程数的配置不同的业务架构师有不同的经验值,有些业务设置为CPU核数的2倍,有些业务设置为CPU核数的8倍,有些业务设置为CPU核数的32倍。 “工作线程数”的设置依据是什么,到底设置为多少能够最大化CPU性能,是本文要讨论...
阅读(120) 评论(0)

秒杀系统架构优化思路

2016-04-06 58沈剑 架构师之路 本文曾在“架构师之路”上发布过,近期支援Qcon-AS大会,在微信群里分享了该话题,故对原文进行重新整理与发布。 一、秒杀业务为什么难做 1)im系统,例如qq或者微博,每个人都读自己的数据(好友列表、群列表、个人信息); 2)微博系统,每个人读你关注的人的数据,一个人读多个人的数据; 3)秒杀系统,库存只有一份,所有人会在集中的时间读和写...
阅读(120) 评论(0)

Jmeter 压力测试

1、 打开界面新建线程组 2、取一个名字并保存 3、新建一个HTTP请求 4、完善Http请求,phoneNumber参数动态参数 5、添加phoneNumber参数对应的CSV文件,动态生成电话号码参数 6、名字必须和第4步中$符号里面的名称一样 7、如果需要在消息头里面传数据,则需要添加http信息头管理器 ...
阅读(48) 评论(0)

Knockout checkbox click 冲突

使用knockout同时绑定checked和click时,checkbox点击不勾选。 解决方案:在绑定的click事件中一定要返回true; 活期存款 定期存款 定期几年:年 * require.config({ paths: { "knockout": "../lib/knockout/knockout-2.3.0",...
阅读(219) 评论(0)

Spring Boot缓存实战 Redis

Spring boot默认使用的是SimpleCacheConfiguration,即使用ConcurrentMapCacheManager来实现缓存。但是要切换到其他缓存实现也很简单。下面是使用redis来作为缓存: pom文件 在pom中引入相应的jar包 dependencies> dependency> groupId>org.springframework.bootg...
阅读(221) 评论(0)

Spring Boot缓存实战 EhCache

Spring boot默认使用的是SimpleCacheConfiguration,即使用ConcurrentMapCacheManager来实现缓存。但是要切换到其他缓存实现也很简单 pom文件 在pom中引入相应的jar包 dependencies> dependency> groupId>org.springframework.bootgroupId> artifac...
阅读(880) 评论(1)

Spring Boot缓存实战 默认Cache(ConcurrentMapCacheManager)

Spring boot默认使用的是SimpleCacheConfiguration,即使用ConcurrentMapCacheManager来实现缓存。 pom文件 dependencies> dependency> groupId>org.springframework.bootgroupId> artifactId>spring-boot-sta...
阅读(404) 评论(0)

Spring Boot 数据缓存 Cache

我们知道一个程序的瓶颈在于数据库,我们也知道内存的速度是大大快于硬盘的速度的。当我们需要重复地获取相同的数据的时候,我们一次又一次的请求数据库或者远程服务,导致大量的时间耗费在数据库查询或者远程方法调用上,导致程序性能的恶化,这便是数据缓存要解决的问题。 Spring缓存支持 Spring定义了org.springframework.cache.CacheManager和org.spr...
阅读(145) 评论(0)

Spring Boot AOP代理

AOP 代理的两种实现: jdk是代理接口,私有方法必然不会存在在接口里,所以就不会被拦截到;cglib是子类,private的方法照样不会出现在子类里,也不能被拦截。 Java 动态代理。 具体有如下四步骤: 通过实现 InvocationHandler 接口创建自己的调用处理器;通过为 Proxy 类指定 ClassLoader 对象和一组 interface 来创建动...
阅读(234) 评论(0)

Mysql中的存储过程

什么是存储过程 简单的说,就是一组SQL语句集,功能强大,可以实现一些比较复杂的逻辑功能,类似于JAVA语言中的方法; ps:存储过程跟触发器有点类似,都是一组SQL集,但是存储过程是主动调用的,且功能比触发器更加强大,触发器是某件事触发后自动调用; 有哪些特性 有输入输出参数,可以声明变量,有if/else, case,while等控制语句,通过编写存储过程,可以...
阅读(107) 评论(0)

MySQL优化—之EXPLAIN

环境准备 MySQL版本: 创建测试表 CREATE TABLE people( id bigint auto_increment primary key, zipcode char(32) not null default '', address varchar(128) not null default '', lastname c...
阅读(153) 评论(0)

linux rails 环境安装

一. Ruby 安装 1. 得到Ruby安装包   wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p174.tar.gz   安装的1.8.7版本 2. 解压安装    tar -xzvf ruby-1.8.7-p174.tar.gz    cd  ruby-1.8.7-p174    ./configure    ma...
阅读(79) 评论(0)
200条 共14页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:122108次
    • 积分:2406
    • 等级:
    • 排名:第16935名
    • 原创:103篇
    • 转载:96篇
    • 译文:1篇
    • 评论:10条
    最新评论