- Redis Lua沙盒绕过RCE(CVE-2022-0543)
不想秃头的烟花
Redis漏洞redislua网络安全web安全数据库
原理RedisLua沙盒绕过RCE的原理主要涉及到Redis在Lua沙箱中遗留了一个对象package。在Debian以及Ubuntu发行版的源在打包Redis时,不慎在Lua沙箱中遗留了这个对象package。攻击者可以利用这个对象提供的方法加载动态链接库liblua里的函数,进而逃逸沙箱执行任意命令。具体来说,Redis一直有一个攻击面,就是在用户连接Redis后,可以通过eval命令执行Lu
- 详解Redis中lua脚本和事务
优人ovo
redislua数据库
Inlearningknowledge,oneshouldbegoodatthinking,thinking,andthinkingagain.—-AlbertEinstein引言Lua脚本的原子性和事务的ACID特性想必大家都很熟悉,本篇文章将从性能表现和原理帮助我们快速理解他们基本概念1.RedisLua脚本从2.6版本起,Redis开始支持Lua脚本。开发者能够将一系列Redis命令封装于一
- Redis Lua脚本中学教程(下)
Jackyzhe
RedisRedisLua
在中学教程的上半部分我们介绍了RedisLua相关的命令,没有看过或者忘记的同学可以步行前往直接使用机票RedisLua脚本中学教程(上)。今天我们来简单学习一下Lua的语法。在介绍Lua语法之前,先来介绍一下Lua的身世。Lua是由简称为PUC-Rio的团队设计、开发和维护的。Lua在葡萄牙语中是月亮的意思,所以它不是简写,而是一个名词。所以只能写成Lua,而不能写成LUA或者其他什么的。接下来
- 升级分布式锁
Mright
redislua中keys[1]和argv[1]的理解KEYS[1]用来表示在redis中用作键值的参数占位,主要用來传递在redis中用作keyz值的参数。ARGV[1]用来表示在redis中用作参数的占位,主要用来传递在redis中用做value值的参数。从Redis2.6.12版本开始,SET命令的行为可以通过一系列参数来修改:EXsecond:设置键的过期时间为second秒。SETkey
- 02-Redis持久化、主从与哨兵架构详解
野心与梦
redis专栏redis架构bootstrap
文章目录Redis持久化RDB快照(snapshot)bgsave的写时复制(COW)机制AOF(append-onlyfile)AOF重写RDB和AOF,我应该用哪一个?Redis4.0混合持久化Redis数据备份策略:Redis主从架构redis主从架构搭建,配置从节点步骤:Redis主从工作原理主从复制(全量复制)流程图:数据部分复制管道(Pipeline)RedisLua脚本Redis哨兵
- redis运维(二十二)redis 的扩展应用 lua(四)
wzj_110
redisredis运维lua
一最佳实践①铺垫最佳实践:1、把redis操作'所需的key'通过'KEYS'进行参数传递2、其它的'lua脚本所需的参数'通过'ARGV'进行传递.redislua脚本原理RedisLua脚本的执行原理②删除指定的脚本缓存③redis集群模式下使用lua脚本注意事项1、常见'报错'现象CROSSSLOTKeysinrequestdon'thashtothesameslot2、如何'排查'是不是r
- 【redis主从架构】
向前再向前
redis
文章目录Redis主从架构Redis主从工作原理数据部分复制管道(Pipeline)RedisLua脚本Redis哨兵高可用架构StringRedisTemplate与RedisTemplate详解Redis主从架构Redis主从工作原理如果你为master配置了一个slave,不管这个slave是否是第一次连接上Master,它都会发送一个PSYNC命令给master请求复制数据。master收
- Redis Lua沙盒绕过 命令执行(CVE-2022-0543)漏洞复现
梧六柒
网络安全数据库安全
RedisLua沙盒绕过命令执行(CVE-2022-0543)漏洞复现Redis如果在没有开启认证的情况下,可以导致任意用户在可以访问目标服务器的情况下未授权访问Redis以及读取Redis的数据。–那么这也就是redis未授权访问了Redis的默认端口是6379可以用空间测绘搜索,也可以用nmap等端口扫描工具来扫描fofa语法搜索:port=“6379”&&protocol=“redis”用
- Spring Security OAuth 2.0授权服务器结合Redis实现获取accessToken速率限制
ReLive27
SpringSecurityOAuth2.0授权服务器结合Redis实现获取accessToken速率限制概述在生产环境中,我们通常颁发给OAuth2客户端有效期较长的token,但是授权服务无从知晓OAuth2客户端服务是否频繁获取token,便于我们主动控制token的颁发,减少数据库操作,本文我们将结合Redis实现滑动窗口算法限制速率解决此问题。先决条件java8+RedisLua授权服务
- Redis Lua脚本的详细介绍以及使用入门
刘Java
Redis6.xluaredis开发语言分布式锁
RedisLua脚本的详细介绍以及使用入门。文章目录RedisLua脚本的引入开源软件的可扩展性Redis的扩展性脚本RedisLua脚本的基本使用通过EVAL命令执行Lua脚本通过脚本与Redis交互Java中调用RedisLua脚本Java调用Lua脚本的方式RedisLua脚本的使用建议脚本缓存脚本缓存稳定性脚本参数化脚本超时处理Redis集群中Lua脚本的使用其他限制Redis7Funct
- Redis----lua篇
学海无涯码代码
redisgolangredisgolang
RedisLua篇相信大部分redis使用者,至少听过Lua脚本,使用的话,更好了,今天我以个人学习经验交流把我对lua的使用写出来。首先看一下网上对lua脚本的介绍和使用:以上是在菜鸟教程上找到的内容并截图。教程里并没有具体的写出使用,至少很简单的描述了一个实例。比如:怎么设置key?怎么设置分布式锁?怎么删除key?…等等这些,在菜鸟教程里面都没具体描述。所以我写该篇文章,主要是描述在实际的生
- Redis 集群 & Redis 事务 & Redis 流水线 & Redis 发布订阅 & Redis Lua脚本操作
01空间
环境搭建redis
Redis集群&Redis事务&Redis流水线&Redis发布订阅Redis集群linux安装redis主从配置查看当前实例主从信息RedisSentinelsentinelRedisClusterRedis事务Redis流水线Redis发布订阅RedisLua脚本操作Redis集群linux安装redis下载安装包,解压tar-zxvfredis-xx.tar.gz编译安装yuminstall
- Redis的攻击手法
网安君
渗透测试百科全书redis数据库缓存
目录Redis概述Redis未授权漏洞发现漏洞验证Redis写shell漏洞利用Redis写公钥漏洞利用主从复制RCE漏洞简介:漏洞利用计划任务反弹shell漏洞利用RedisLua沙盒绕过命令执行漏洞介绍:利用条件:利用方式:Redis在Windows下利用方式介绍:写webshell写启动项写入无损文件参考Redis概述REmoteDIctionaryServer(Redis)是一个由Salv
- Redis给Lua脚本的调用
IDIOT___IDIOT
Redisredislua数据库
Redis给Lua脚本的调用Redis为Lua提供了一组内置函数,这些函数可用于执行与Redis数据存储和操作相关的任务。这些内置函数可以在Lua脚本中使用,以便在Redis中执行各种操作。以下是一些常用的RedisLua内置函数:主要知道call就好了redis.call(command,key,arg1,arg2,...):这个函数允许Lua脚本执行Redis命令。你可以传递命令的名称(例如,
- Redis Lua脚本执行原理和语法示例
冰点.
lua脚本从入门到精通redislua数据库后端java
RedisLua脚本语法示例文章目录RedisLua脚本语法示例0.前言参考资料1.Redis执行Lua脚本原理1.1.对Redis源码中嵌入Lua解释器的简要解析:1.2.RedisLua脚本缓存机制2.RedisLua脚本示例1.1.场景示例1.请求限流2.原子性地从一个list移动元素到另一个list:3.原子性地更新hash值并返回旧值:4.如果键不存在,则设置键值:5.检查一个值是否在s
- 漏洞指北-VulFocus靶场专栏-中级01
吃瓜太狼
VulFocus漏洞指北网络安全
漏洞指北-VulFocus靶场专栏-中级01中级001dcrcms文件上传(CNVD-2020-27175)step1:输入账号密码burpsuite拦截修改类型为jpeg中级002thinkphp3.2.x代码执行step1:burpsuite抓包step2:改包头step3查看错误日志step4根据错误日志引入phpinfo中级003RedisLua沙盒绕过命令执行(CVE-2022-0543
- 编码踩坑——Redis Pipeline中调用Lua脚本报错JedisMoveDataException的问题 / Lua脚本常遇到的问题
七海健人
编码踩坑Redisjedisredispipelineluajava
本篇记录使用RedisPipeline时,调用redis.clients.jedis.PipelineBase#eval时,报错JedisMoveDataException的问题;通过查看源码发现问题的原因,通过jedis在Github的issue了解了解决方案;涉及知识:Redisslot、RedisPipeline、RedisLua;问题背景有一段涉及用户通知疲劳度控制相关的代码,由于要保证执
- Redis 从入门到精通【进阶篇】之Lua脚本详解
算.子
redislua数据库java缓存后端
文章目录0.前言1.RedisLua脚本简介1.1Lua脚本介绍Lua语言概述:Lua脚本的特点:1.2Redis中为何选择LuaLua与Redis的结合优势Lua脚本在Redis中的应用场景2.RedisLua脚本的执行流程1.加载脚本:1.1脚本缓存机制:1.2脚本加载与缓存的关系:2.编译脚本:2.1Lua脚本语法:2.2脚本编译过程:3.执行脚本:3.1脚本执行的原子性:3.2脚本执行的事
- Redis中lua脚本实现及其应用场景
目录1.RedisLua脚本概述2.RedisLua脚本的优势3.RedisLua脚本的应用场景4.RedisLua脚本的使用方法5.java中使用redis的lua脚本5.1.添加Redis依赖在pom.xml中添加以下依赖:5.2.配置Redis连接信息在application.properties中添加以下配置:5.3.定义RedisLua脚本5.4.实现RedisService5.5.编写
- 分布式--Redis持久化、主从与哨兵架构(工作原理)
wan_Szw
redisredis分布式
文章目录Redis持久化、主从与哨兵架构redis持久化RDB快照(snapshot)bgsave的写时复制(COW)机制save与bgsave对比:AOF持久化(append-only-file)AOF的重写Redis4.0混合持久化Redis数据备份策略:Redis主从架构redis主从架构原理数据部分复制(2.8版本断点续传)主从复制风暴管道(Pipeline)RedisLua脚本Redis
- redis lua脚本redis事务实现 商品秒杀活动案例
白袜子先生
redislua脚本redis事务实现商品秒杀活动案例1.前言redis利用单线程IO多路复用实现了单命令操作的原子性,但是多个命令的操作就不具备原子性。不过可以利用redis事务或者lua脚本来实现多命令操作的原子性。本文试图通过模拟商品秒杀活动,演示怎么实现redis多命令操作具有原子性。用到的工具:springboot,redistemplate,lua脚本。2准备工作2.1配置redisT
- Redis Lua编程与调试工具使用
solohunter
前言Redis自2.6.0版本开始内置Lua解释器。Lua,轻量级脚本语言,号称最快的脚本语言。两者结合将爆发出巨大的威力。简介RedisLua脚本可以调用原生的Redis命令,也可以包含自定义的控制流、逻辑运算、数学运算等,将复杂的业务逻辑封装起来,形成一个原子事务。这些特性使我们可以自由地扩展Redis,封装“自定义命令”。与MULTI+EXEC对比使用MULTI+EXEC及相关组合命令,也可
- redis, lua springMVC 结合使用
柳暗花明_攻城师
原文地址:https://www.jianshu.com/p/366d1b4f0d13RedisLua实战2018.02.0413:54字数1877阅读3660评论3喜欢6RedisLua这个技术,我之前就在关注,今天有空,我把项目中基于Redis实现的ID生成器改成用lua脚本实现,防止并发id冲突问题Redis中使用Lua的好处减少网络开销。可以将多个请求通过脚本的形式一次发送,减少网络时延原
- Redis Lua脚本解决秒杀下库存校验问题
姚仔
RedisRedisLua秒杀
RedisLua脚本解决秒杀下库存校验问题场景基本需求涉及问题解决思路主要流程使用redislua脚本为什么使用RedisLuaLua脚本设计说明java测试代码场景基本需求秒杀活动,到时间点后,用户会对商品进行购买。涉及问题秒杀场景下,瞬时的并发会比较高商品的数量是有限的,不能超买超卖每个用户最多只能抢购一件商品综合上面问题,传统关系型数据库不能良好的支持。解决思路主要流程Createdwith
- Redis(lua脚本) 实现秒杀抢购商品
echo_huangshi
redisredislua数据库
redislua脚本实现抢购秒杀商品介绍思路流程代码展示架构采用springboot+redis+mysql+myBatis.表结构,需要产品表和订单表。配置文件信息pom依赖核心业务代码展示调用redis的lua脚本进行减库存和生成订单信息.lua脚本解释从redis里取订单信息持久化到mysqlJmeter模拟测试踩坑记录1.lua脚本编写错误2.没有初始化成功3.redis里面的单价和库存没
- go 分布式锁简单实现实例详解
目录正文案例资源加锁使用redis来实现分布式锁redislua保证原子性正文其实锁这种东西,都能能不加就不加,锁会导致程序一定程度上退回到串行化,进而降低效率。案例首先,看一个案例,如果要实现一个计数器,并且是多个协程共同进行的,就会出现以下的情况:packagemainimport("fmt""sync")funcmain(){numberFlag:=0wg:=new(sync.WaitGro
- 事务遇上分布式锁
everyD_struggle
mysql分布式系统分布式数据库mysql
文章目录1.分布式锁的几种实现方式2.MySQL使用自带锁进行分布式同步控制2.1环境准备2.2可重复读下的forupdate的验证3.Redis使用分布式锁1.分布式锁的几种实现方式直接使用MySQL进行同步异常处理redisLua脚本或者redisonzookeeper原子树结构2.MySQL使用自带锁进行分布式同步控制mysql加锁方式,todo。2.1环境准备DROPTABLEIFEXIS
- 基于Redis Lua脚本实现的滑动窗口限流核心包
haokinglong_java
框架luajavaredisspringlistener
badger-rate-limiter简介最近根据业务需求封装了一个基于redislua脚本实现的滑动窗口限流的核心包,可能有人会问为什么要封装?直接用不就好了?其实,封装起来有助于其他项目快速复用,同时减少使用门槛.该包特点:基于Springlistener机制,比较优雅的实现了配置的热更新,不用重启服务即可更新限流策略.同时提供了一个不用配置直接自行传限流配置的简易接口(开箱即用).有相关限流
- nginx 集成lua操作mysql的过程解析
目录前言实现思路ngx_lua模块概念OpenRestry安装步骤1、下载OpenRestry2、解压缩文件3、进入OpenResty目录执行配置4、执行命令:make&&makeinstall5、进入OpenResty的目录配置nginx6、启动nginx并测试ngx_lua常用指令代码实现lua操作redislua-resty-redis环境准备lua-resty-redis常用APIngx_
- redis lua脚本实战秒杀和减库存的实现
目录前言1.redisson介绍2.redislua脚本编写与执行3.redis减库存lua脚本4.实战4.1减库存逻辑4.2压测前言我们都知道redis是高性能高并发系统必不可少的kv中间件,它以高性能,高并发著称,我们常常用它做缓存,将热点数据或者是万年不变的数据缓存到redis中,查询的时候直接查询redis,减轻db的压力,分布式系统中我们也会拿它来做分布式锁,分布式id,幂等来解决一些分
- Java开发中,spring mvc 的线程怎么调用?
小麦麦子
springmvc
今天逛知乎,看到最近很多人都在问spring mvc 的线程http://www.maiziedu.com/course/java/ 的启动问题,觉得挺有意思的,那哥们儿问的也听仔细,下面的回答也很详尽,分享出来,希望遇对遇到类似问题的Java开发程序猿有所帮助。
问题:
在用spring mvc架构的网站上,设一线程在虚拟机启动时运行,线程里有一全局
- maven依赖范围
bitcarter
maven
1.test 测试的时候才会依赖,编译和打包不依赖,如junit不被打包
2.compile 只有编译和打包时才会依赖
3.provided 编译和测试的时候依赖,打包不依赖,如:tomcat的一些公用jar包
4.runtime 运行时依赖,编译不依赖
5.默认compile
依赖范围compile是支持传递的,test不支持传递
1.传递的意思是项目A,引用
- Jaxb org.xml.sax.saxparseexception : premature end of file
darrenzhu
xmlprematureJAXB
如果在使用JAXB把xml文件unmarshal成vo(XSD自动生成的vo)时碰到如下错误:
org.xml.sax.saxparseexception : premature end of file
很有可能时你直接读取文件为inputstream,然后将inputstream作为构建unmarshal需要的source参数。InputSource inputSource = new In
- CSS Specificity
周凡杨
html权重Specificitycss
有时候对于页面元素设置了样式,可为什么页面的显示没有匹配上呢? because specificity
CSS 的选择符是有权重的,当不同的选择符的样式设置有冲突时,浏览器会采用权重高的选择符设置的样式。
规则:
HTML标签的权重是1
Class 的权重是10
Id 的权重是100
- java与servlet
g21121
servlet
servlet 搞java web开发的人一定不会陌生,而且大家还会时常用到它。
下面是java官方网站上对servlet的介绍: java官网对于servlet的解释 写道
Java Servlet Technology Overview Servlets are the Java platform technology of choice for extending and enha
- eclipse中安装maven插件
510888780
eclipsemaven
1.首先去官网下载 Maven:
http://www.apache.org/dyn/closer.cgi/maven/binaries/apache-maven-3.2.3-bin.tar.gz
下载完成之后将其解压,
我将解压后的文件夹:apache-maven-3.2.3,
并将它放在 D:\tools目录下,
即 maven 最终的路径是:D:\tools\apache-mave
- jpa@OneToOne关联关系
布衣凌宇
jpa
Nruser里的pruserid关联到Pruser的主键id,实现对一个表的增删改,另一个表的数据随之增删改。
Nruser实体类
//*****************************************************************
@Entity
@Table(name="nruser")
@DynamicInsert @Dynam
- 我的spring学习笔记11-Spring中关于声明式事务的配置
aijuans
spring事务配置
这两天学到事务管理这一块,结合到之前的terasoluna框架,觉得书本上讲的还是简单阿。我就把我从书本上学到的再结合实际的项目以及网上看到的一些内容,对声明式事务管理做个整理吧。我看得Spring in Action第二版中只提到了用TransactionProxyFactoryBean和<tx:advice/>,定义注释驱动这三种,我承认后两种的内容很好,很强大。但是实际的项目当中
- java 动态代理简单实现
antlove
javahandlerproxydynamicservice
dynamicproxy.service.HelloService
package dynamicproxy.service;
public interface HelloService {
public void sayHello();
}
dynamicproxy.service.impl.HelloServiceImpl
package dynamicp
- JDBC连接数据库
百合不是茶
JDBC编程JAVA操作oracle数据库
如果我们要想连接oracle公司的数据库,就要首先下载oralce公司的驱动程序,将这个驱动程序的jar包导入到我们工程中;
JDBC链接数据库的代码和固定写法;
1,加载oracle数据库的驱动;
&nb
- 单例模式中的多线程分析
bijian1013
javathread多线程java多线程
谈到单例模式,我们立马会想到饿汉式和懒汉式加载,所谓饿汉式就是在创建类时就创建好了实例,懒汉式在获取实例时才去创建实例,即延迟加载。
饿汉式:
package com.bijian.study;
public class Singleton {
private Singleton() {
}
// 注意这是private 只供内部调用
private static
- javascript读取和修改原型特别需要注意原型的读写不具有对等性
bijian1013
JavaScriptprototype
对于从原型对象继承而来的成员,其读和写具有内在的不对等性。比如有一个对象A,假设它的原型对象是B,B的原型对象是null。如果我们需要读取A对象的name属性值,那么JS会优先在A中查找,如果找到了name属性那么就返回;如果A中没有name属性,那么就到原型B中查找name,如果找到了就返回;如果原型B中也没有
- 【持久化框架MyBatis3六】MyBatis3集成第三方DataSource
bit1129
dataSource
MyBatis内置了数据源的支持,如:
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<data
- 我程序中用到的urldecode和base64decode,MD5
bitcarter
cMD5base64decodeurldecode
这里是base64decode和urldecode,Md5在附件中。因为我是在后台所以需要解码:
string Base64Decode(const char* Data,int DataByte,int& OutByte)
{
//解码表
const char DecodeTable[] =
{
0, 0, 0, 0, 0, 0
- 腾讯资深运维专家周小军:QQ与微信架构的惊天秘密
ronin47
社交领域一直是互联网创业的大热门,从PC到移动端,从OICQ、MSN到QQ。到了移动互联网时代,社交领域应用开始彻底爆发,直奔黄金期。腾讯在过去几年里,社交平台更是火到爆,QQ和微信坐拥几亿的粉丝,QQ空间和朋友圈各种刷屏,写心得,晒照片,秀视频,那么谁来为企鹅保驾护航呢?支撑QQ和微信海量数据背后的架构又有哪些惊天内幕呢?本期大讲堂的内容来自今年2月份ChinaUnix对腾讯社交网络运营服务中心
- java-69-旋转数组的最小元素。把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个排好序的数组的一个旋转,输出旋转数组的最小元素
bylijinnan
java
public class MinOfShiftedArray {
/**
* Q69 旋转数组的最小元素
* 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个排好序的数组的一个旋转,输出旋转数组的最小元素。
* 例如数组{3, 4, 5, 1, 2}为{1, 2, 3, 4, 5}的一个旋转,该数组的最小值为1。
*/
publ
- 看博客,应该是有方向的
Cb123456
反省看博客
看博客,应该是有方向的:
我现在就复习以前的,在补补以前不会的,现在还不会的,同时完善完善项目,也看看别人的博客.
我刚突然想到的:
1.应该看计算机组成原理,数据结构,一些算法,还有关于android,java的。
2.对于我,也快大四了,看一些职业规划的,以及一些学习的经验,看看别人的工作总结的.
为什么要写
- [开源与商业]做开源项目的人生活上一定要朴素,尽量减少对官方和商业体系的依赖
comsci
开源项目
为什么这样说呢? 因为科学和技术的发展有时候需要一个平缓和长期的积累过程,但是行政和商业体系本身充满各种不稳定性和不确定性,如果你希望长期从事某个科研项目,但是却又必须依赖于某种行政和商业体系,那其中的过程必定充满各种风险。。。
所以,为避免这种不确定性风险,我
- 一个 sql优化 ([精华] 一个查询优化的分析调整全过程!很值得一看 )
cwqcwqmax9
sql
见 http://www.itpub.net/forum.php?mod=viewthread&tid=239011
Web翻页优化实例
提交时间: 2004-6-18 15:37:49 回复 发消息
环境:
Linux ve
- Hibernat and Ibatis
dashuaifu
Hibernateibatis
Hibernate VS iBATIS 简介 Hibernate 是当前最流行的O/R mapping框架,当前版本是3.05。它出身于sf.net,现在已经成为Jboss的一部分了 iBATIS 是另外一种优秀的O/R mapping框架,当前版本是2.0。目前属于apache的一个子项目了。 相对Hibernate“O/R”而言,iBATIS 是一种“Sql Mappi
- 备份MYSQL脚本
dcj3sjt126com
mysql
#!/bin/sh
# this shell to backup mysql
#
[email protected] (QQ:1413161683 DuChengJiu)
_dbDir=/var/lib/mysql/
_today=`date +%w`
_bakDir=/usr/backup/$_today
[ ! -d $_bakDir ] && mkdir -p
- iOS第三方开源库的吐槽和备忘
dcj3sjt126com
ios
转自
ibireme的博客 做iOS开发总会接触到一些第三方库,这里整理一下,做一些吐槽。 目前比较活跃的社区仍旧是Github,除此以外也有一些不错的库散落在Google Code、SourceForge等地方。由于Github社区太过主流,这里主要介绍一下Github里面流行的iOS库。 首先整理了一份
Github上排名靠
- html wlwmanifest.xml
eoems
htmlxml
所谓优化wp_head()就是把从wp_head中移除不需要元素,同时也可以加快速度。
步骤:
加入到function.php
remove_action('wp_head', 'wp_generator');
//wp-generator移除wordpress的版本号,本身blog的版本号没什么意义,但是如果让恶意玩家看到,可能会用官网公布的漏洞攻击blog
remov
- 浅谈Java定时器发展
hacksin
java并发timer定时器
java在jdk1.3中推出了定时器类Timer,而后在jdk1.5后由Dou Lea从新开发出了支持多线程的ScheduleThreadPoolExecutor,从后者的表现来看,可以考虑完全替代Timer了。
Timer与ScheduleThreadPoolExecutor对比:
1.
Timer始于jdk1.3,其原理是利用一个TimerTask数组当作队列
- 移动端页面侧边导航滑入效果
ini
jqueryWebhtml5cssjavascirpt
效果体验:http://hovertree.com/texiao/mobile/2.htm可以使用移动设备浏览器查看效果。效果使用到jquery-2.1.4.min.js,该版本的jQuery库是用于支持HTML5的浏览器上,不再兼容IE8以前的浏览器,现在移动端浏览器一般都支持HTML5,所以使用该jQuery没问题。HTML文件代码:
<!DOCTYPE html>
<h
- AspectJ+Javasist记录日志
kane_xie
aspectjjavasist
在项目中碰到这样一个需求,对一个服务类的每一个方法,在方法开始和结束的时候分别记录一条日志,内容包括方法名,参数名+参数值以及方法执行的时间。
@Override
public String get(String key) {
// long start = System.currentTimeMillis();
// System.out.println("Be
- redis学习笔记
MJC410621
redisNoSQL
1)nosql数据库主要由以下特点:非关系型的、分布式的、开源的、水平可扩展的。
1,处理超大量的数据
2,运行在便宜的PC服务器集群上,
3,击碎了性能瓶颈。
1)对数据高并发读写。
2)对海量数据的高效率存储和访问。
3)对数据的高扩展性和高可用性。
redis支持的类型:
Sring 类型
set name lijie
get name lijie
set na
- 使用redis实现分布式锁
qifeifei
在多节点的系统中,如何实现分布式锁机制,其中用redis来实现是很好的方法之一,我们先来看一下jedis包中,有个类名BinaryJedis,它有个方法如下:
public Long setnx(final byte[] key, final byte[] value) {
checkIsInMulti();
client.setnx(key, value);
ret
- BI并非万能,中层业务管理报表要另辟蹊径
张老师的菜
大数据BI商业智能信息化
BI是商业智能的缩写,是可以帮助企业做出明智的业务经营决策的工具,其数据来源于各个业务系统,如ERP、CRM、SCM、进销存、HER、OA等。
BI系统不同于传统的管理信息系统,他号称是一个整体应用的解决方案,是融入管理思想的强大系统:有着系统整体的设计思想,支持对所有
- 安装rvm后出现rvm not a function 或者ruby -v后提示没安装ruby的问题
wudixiaotie
function
1.在~/.bashrc最后加入
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
2.重新启动terminal输入:
rvm use ruby-2.2.1 --default
把当前安装的ruby版本设为默